Настройка среды разработки 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 для прозрачной работы с удалёнными файлами.







