Налаштування середовища розробки AI на локальній машині
Правильно налаштоване локальне середовище – основа продуктивності AI-розробника. Головні вимоги: ізоляція залежностей між проектами, зручна робота з GPU (якщо є), інтеграція з cloud-ресурсами для тренування моделей та версіонування коду та даних.
Conda як основа ізоляції
# Установка Miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# Базовое окружение для AI-разработки
conda create -n ai-dev python=3.11
conda activate ai-dev
# Core ML stack
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
pip install transformers datasets peft accelerate
pip install scikit-learn xgboost lightgbm catboost
pip install pandas numpy scipy matplotlib seaborn plotly
pip install mlflow dvc[s3] great_expectations
pip install jupyter jupyterlab ipywidgets
pip install pytest black isort mypy pre-commit
Конфігурація VS Code для AI-розробки
.vscode/settings.json:
{
"python.defaultInterpreterPath": "~/miniconda3/envs/ai-dev/bin/python",
"python.formatting.provider": "black",
"editor.formatOnSave": true,
"jupyter.notebookFileRoot": "${workspaceFolder}",
"python.testing.pytestEnabled": true,
"files.exclude": {
"**/__pycache__": true,
"**/*.pyc": true,
".dvc": false
}
}
Профілювання GPU локально
# PyTorch Profiler для анализа GPU-операций
with torch.profiler.profile(
activities=[
torch.profiler.ProfilerActivity.CPU,
torch.profiler.ProfilerActivity.CUDA,
],
record_shapes=True,
profile_memory=True,
) as prof:
output = model(input_tensor)
print(prof.key_averages().table(sort_by="cuda_time_total", row_limit=10))
# Экспорт в Chrome trace
prof.export_chrome_trace("trace.json")
Хмарна технологія для ресурсомістких завдань
Для локальної розробки без потужного GPU: VS Code Remote SSH підключається до хмарного GPU-інстансу. Код зберігається локально (Git), дані - в S3/GCS, обчислення - в хмарі. Це дешевше, ніж тримати локальний GPU і зручніше, ніж працювати в браузерному Jupyter.
Ключове: ~/.ssh/config з аліасами для GPU-інстансів + автоматичне монтування remote filesystem через SSHFS для прозорої роботи з віддаленими файлами.







