Оглавление
- Введение и Дорожная карта
- Основы AI и Машинного обучения (ML)
- Большие языковые модели (LLM) и Трансформеры
- Жизненный цикл модели и Оптимизация
- Среды разработки и Практическая настройка
- Промпт-инжиниринг (Prompt Engineering)
- Работа с API и Моделями как Сервисом (MaaS)
- Экосистема Hugging Face
- Локальный запуск LLM
- AI-ассистенты для кодинга
- RAG и Векторные базы данных
- Деплой и Инфраструктура (Ops)
- Аппаратное обеспечение (Hardware)
- Агенты (Agents)
1. Введение и Дорожная карта
Модель зрелости (Maturity Model)
- Skill Tree: Обучение построено как дерево навыков, а не линейный путь.
- Модальности (Modalities): Текст, Изображения, Видео, Аудио (Whisper), 3D, Нишевые (ДНК, белки).
- Типы доступа к моделям:
- Open Source: Открыты веса, код и данные (пример: IBM Granite).
- Open Weights: Открыты только веса (Mistral, Llama).
- Closed: Закрытые проприетарные модели (OpenAI, Anthropic).
2. Основы AI и Машинного обучения (ML)
Иерархия понятий
- AI (Искусственный интеллект): Симуляция (подражание) человеческого интеллекта. Важно: Это симуляция, а не эмуляция процессов мозга.
- ML (Машинное обучение): Алгоритмы, находящие закономерности в данных без явных правил.
- DL (Глубокое обучение): Использование многослойных нейронных сетей.
- GenAI (Генеративный ИИ): Создание нового контента на основе существующих данных.
Типы обучения
- Supervised (С учителем): Размеченные данные (Ground Truth). Задачи: Классификация и Регрессия.
- Unsupervised (Без учителя): Поиск скрытых паттернов. Задачи: Кластеризация и Снижение размерности.
- Reinforcement (С подкреплением): Обучение агента через награды и штрафы в среде.
Нейронные сети и Активация
- Структура: Входной слой $\to$ Скрытые слои (Hidden Layers) $\to$ Выходной слой.
- Backpropagation: Механизм обновления весов (weights) для минимизации ошибки.
- Функции активации:
- ReLU: Самая популярная (“умирает” при x < 0).
- Leaky ReLU: Решает проблему “умирания” нейронов.
- Sigmoid/Tanh: Диапазоны (0,1) и (-1,1), страдают от исчезающего градиента.
- Softmax: Используется на выходе для получения вероятностей (сумма = 1).
3. Большие языковые модели (LLM) и Трансформеры
Архитектура Трансформера (Статья “Attention is All You Need”)
- Encoder (Кодировщик): Анализирует входной текст, создает семантическое представление (пример: BERT).
- Decoder (Декодировщик): Генерирует выходной текст токен за токеном (пример: GPT).
- Механизм Attention (Внимание):
- Self-Attention: Слово “смотрит” на другие слова в той же фразе для понимания контекста.
- Multi-Head Attention: Параллельные “головы” внимания для разных аспектов (грамматика, смысл).
Фундаментальные концепции обработки данных
- Токенизация: Разбиение текста на мелкие части (слова, части слов).
- Эмбеддинги (Embeddings): Представление токенов в виде векторов в многомерном пространстве. Схожие по смыслу векторы находятся рядом.
- Позиционное кодирование: Добавление информации о порядке слов (так как трансформер обрабатывает всё параллельно).
4. Жизненный цикл модели и Оптимизация
Параметры vs Гиперпараметры
- Параметры: Внутренние веса (настраиваются моделью в процессе обучения).
- Гиперпараметры: Внешние настройки (Learning Rate, Epochs, Batch Size), задаются человеком.
Методы оптимизации
- Fine-tuning (Дообучение): Адаптация Foundation Model под задачу.
- PEFT / LoRA: Обновление малого числа параметров (эффективно по памяти).
- Quantization (Квантование): Сжатие весов (например, из FP32 в INT8).
- Математика памяти: 1 млрд параметров в FP32 $\approx$ 4 ГБ VRAM. В INT8 $\approx$ 1 ГБ.
- Knowledge Distillation (Дистилляция): Обучение малой модели (Student) на основе предсказаний большой модели (Teacher).
Исследование Chinchilla
- Правило: Оптимальное количество данных (в токенах) должно быть в 20 раз больше количества параметров модели.
5. Среды разработки и Практическая настройка
Инструменты
- Jupyter Lab: Стандартная среда для экспериментов с кодом.
- Conda (Miniconda): Изоляция Python-окружений для избежания “ада зависимостей”. Рекомендуется Python 3.10 для стабильности ML-библиотек.
- Облачные IDE: Google Colab (бесплатный GPU), Lightning AI (быстрый старт), Amazon SageMaker Studio Lab.
Безопасность
- Использование файлов .env и библиотеки
python-dotenv для хранения API-ключей. Никогда не хардкодить секреты в коде.
6. Промпт-инжиниринг (Prompt Engineering)
Техники промптинга
- Zero-shot: Задача без примеров.
- Few-shot: Предоставление нескольких примеров “вход-выход”.
- Chain of Thought (CoT): Запрос “рассуждай пошагово” (step-by-step).
- Tree of Thoughts (ToT): Генерация и оценка нескольких путей решения.
Фреймворки и Агенты
- CO-STAR: Структура промпта (Context, Objective, Style, Tone, Audience, Response).
- ReAct (Reasoning + Acting): Цикл “Мысль $\to$ Действие $\to$ Наблюдение”.
- Structured Output: Использование библиотеки Instructor и Pydantic для получения валидного JSON.
7. Работа с API и Моделями как Сервисом (MaaS)
Ключевые провайдеры
- OpenAI: GPT-4o, стандарт индустрии.
- Anthropic: Claude 3.5 Sonnet (лидер в кодинге).
- Groq: Сверхбыстрый инференс на базе LPU (не GPU).
- Amazon Bedrock: Единый API для моделей разных вендоров в AWS.
- Azure AI: Доступ к OpenAI через инфраструктуру Microsoft (требует создания Deployment).
- Replicate: Запуск open-source моделей (Flux, Stable Diffusion) с посекундной оплатой.
8. Экосистема Hugging Face
Основные компоненты
- Model Hub: Хранилище моделей. Различают Base и Instruct (чат) версии.
- Gated Models: Модели, требующие принятия лицензии (Llama, Gemma).
- Spaces: Хостинг для демо-приложений (на базе Gradio/Streamlit).
- Библиотеки:
transformers (текст), diffusers (картинки), datasets (данные).
9. Локальный запуск LLM
Инструменты запуска
- Ollama: Простой сервис для запуска моделей (Llama 3, Mistral). Работает через CLI и API.
- Llamafile: Модель и движок в одном исполняемом файле (.exe или бинарник).
- Llama.cpp: Движок на C++ для высокой производительности на CPU/GPU.
Форматы и интерфейсы
- GGUF: Основной формат для локального запуска (поддерживает квантование).
- Open WebUI: Локальный графический интерфейс, аналогичный ChatGPT (запускается через Docker).
10. AI-ассистенты для кодинга
Сравнение инструментов
- GitHub Copilot: Отраслевой стандарт, хорошая интеграция.
- Amazon Q: Высокое качество генерации кода, но нестабильный UI.
- Windsurf (на базе Codeium): Лидер теста. Имеет режим Cascade (Flow) — агент, который сам правит файлы и запускает терминал.
- Cody: Силен в контекстном поиске по всей кодовой базе.
11. RAG и Векторные базы данных
Концепция RAG (Retrieval-Augmented Generation)
- Предоставление модели внешних данных для уменьшения галлюцинаций.
- Процесс: Текст $\to$ Embeddings $\to$ Vector DB $\to$ Поиск контекста $\to$ Промпт в LLM.
Технологии хранения
- Pinecone: Облачная специализированная векторная БД.
- Elasticsearch: Поисковый движок с поддержкой векторов и веб-краулером.
- MongoDB Atlas: Векторный поиск в NoSQL базе.
- Postgres + pgvector: Реляционная БД с поддержкой векторных операций.
- Context Caching: Кэширование тяжелых контекстов в API (Gemini/Claude) для экономии токенов.
12. Деплой и Инфраструктура (Ops)
Сервинг моделей (Serving Engines)
- vLLM: Стандарт для высокопроизводительного инференса (технология PagedAttention).
- TGI (Text Generation Inference): Решение от Hugging Face для продакшена.
- OPEA: Открытая платформа от Intel/Linux Foundation для создания энтерпрайз-пайплайнов GenAI.
Инфраструктурные принципы
- Sandboxing: Изоляция моделей в контейнерах (Docker), так как они потребляют много RAM и могут падать.
- KServe: Деплой моделей на Kubernetes с автоскейлингом.
13. Аппаратное обеспечение (Hardware)
Типы процессоров
- GPU (Nvidia): Тысячи ядер, экосистема CUDA/cuDNN.
- TPU (Google): ASIC, оптимизированные под TensorFlow.
- NPU/iGPU: Встроенные в современные процессоры (Intel Lunar Lake) ускорители для “AI PC”.
- Intel Gaudi: Специализированные ускорители для обучения моделей.
- VPU: Процессоры для компьютерного зрения (Intel Movidius).
14. Агенты (Agents)
Фреймворки оркестрации
- LangChain: Популярен для обучения и прототипов, но критикуется за излишнюю сложность в продакшене.
- LlamaIndex: Фокус на подключении данных и продвинутом RAG.
- CrewAI: Фреймворк для создания команд агентов (ролевая модель: Разработчик, QA, Менеджер).
Принципы работы агентов
- Роли (Roles): У каждого агента своя цель и предыстория (backstory).
- Циклы обратной связи: Агенты могут проверять работу друг друга (QA проверяет код Разработчика).
- Стоимость: Агентские ворклоулы потребляют много токенов из-за постоянного обмена контекстом.