Stanford CME295, лекция 1: как текст становится вычислениями (Рубрика #AI)
Первая лекция курса Stanford CME295, о котором я уже рассказывал раньше, вышла интересной - за 1 час 44 минуты Афшин и Шервин Амиди объясняют, как превратить текст в числа, связать эти числа с контекстом и собрать из этого работающую модель перевода. Сильная сторона записи — каждая новая деталь появляется как ответ на конкретную проблему. Поэтому даже у довольно внушительной схемы Transformer постепенно становится понятно назначение отдельных блоков. Дальше я расскажу про основные моменты этой лекции
1️⃣ Токены: на какие кусочки нарезать текст?
Можно брать целые слова, но тогда словарь разрастается, а незнакомые слова создают проблемы. Можно брать отдельные символы, но последовательности становятся длинными и дорогими в обработке. Часто используют промежуточный вариант — части слов. BPE собирает словарь, последовательно объединяя часто встречающиеся пары. Поэтому токен не обязан совпадать со словом, а способ разбиения зависит от данных, на которых обучали токенизатор.
2️⃣ Embeddings: как придать этим кусочкам полезное числовое представление?
Номера в словаре лишь различают токены. Для работы модели каждому нужен вектор — набор чисел, который обучается вместе с ней. На примере Word2vec преподаватели показывают, как обучение на текстах позволяет получить полезные связи между словами. Но фиксированного вектора недостаточно: английское bank может означать банк или берег. Контекст меняется, а исходное представление слова остаётся тем же.
3️⃣ Attention: как учитывать окружающий текст?
RNN и LSTM обрабатывают последовательность шаг за шагом, обновляя внутреннее состояние. Примерно как пересказывать книгу по одной постоянно обновляемой заметке: далёкие детали удерживать сложно, а вычисления зависят от предыдущего шага.
Attention даёт прямые связи между представлениями токенов. Модель вычисляет веса этих связей и смешивает информацию с учётом полученных весов. Q, K и V удобно понимать как «что ищем», «по чему сопоставляем» и «какую информацию берём». Это поясняющая метафора: внутри всё происходит через обучаемые преобразования векторов. Self-attention позволяет обновить представление токена с учётом других токенов той же последовательности.
4️⃣ Transformer: как собрать детали вместе?
В исходной архитектуре encoder строит представления входного текста с учётом контекста, а decoder по одному генерирует токены перевода, обращаясь к этим представлениям и уже полученному тексту. Информация о позиции помогает учитывать порядок. Маска запрещает подсматривать будущие токены при обучении. Слои нейросети преобразуют собранную информацию, а дополнительные связи и нормализация помогают обучать глубокую модель.
В конце всё это проходят на одном предложении про плюшевого медвежонка: от токенизации до вероятностей следующего токена и готового перевода. Здесь особенно удобно сверить, как отдельные механизмы работают вместе. Разбирают именно Transformer из статьи 2017 года; другие семейства моделей заявлены в следующей лекции.
Сама лекция будет полезна тем, кто уже пользуется LLM и хочет понимать их устройство, разработчикам AI-приложений и всем, кто начинает системно изучать тему. Подача доступная, но векторы, умножение матриц и базовые понятия обучения нейросетей пригодятся: преподаватели доходят до формул и размерностей. Я бы смотрел с паузами, а после сквозного примера попробовал нарисовать весь путь от текста до следующего токена самостоятельно.
#AI #LLM #Learning #Engineering #Architecture
Post #5026
1.27K