
Андрей был одним из основателей OpenAI (2015), затем старшим директором по ИИ в Tesla (2017-2022), а сейчас является основателем Eureka Labs, которая создает школу на базе ИИ. Его цель в этом видео — повысить знания и понимание современного состояния ИИ и дать людям возможность эффективно использовать последние достижения в своей работе.
Прямая ссылка на видео https://www.youtube.com/watch?v=Y1SygpzRlns
Meta* (социальные сети Facebook* и Instagram*) признана экстремистской организацией и запрещена на территории РФ
Пересказ видео от нейросети
Введение
- Видео о больших языковых моделях, таких как ChatGPT
- Цель — дать ментальные модели для понимания этих инструментов
- Модели хороши в некоторых вещах, но имеют ограничения
Данные для предварительного обучения
- Этап предварительного обучения включает скачивание и обработку интернета
- Компания Hugging Face создала набор данных Fine Web
- Основные поставщики моделей используют аналогичные наборы данных
Процесс сбора данных
- Данные из Common Crawl, который индексирует миллиарды веб-страниц
- Фильтрация URL, извлечение текста, фильтрация по языку
- Удаление дубликатов и персональных данных
Токенизация
- Преобразование текста в одномерную последовательность символов
- Использование кодировки UTF-8 для представления текста в виде битов
- Компромисс между длиной последовательности и размером словаря символов
Сжатие последовательностей
- Нежелательны короткие и длинные последовательности
- Сжатие достигается путём объединения битов в байты
- Байты могут быть представлены как уникальные символы или эмодзи
Кодирование пар байтов
- Для дальнейшего сжатия используются пары байтов
- Распространённые пары байтов заменяются новыми символами
- Размер словаря может достигать 100.000 символов
Токенизация
- Преобразование текста в токены называется токенизацией
- Токены могут быть чувствительны к регистру и пробелам
- Пример токенизации с использованием сайта tik tokenizer
Ввод/вывод нейронной сети
- Нейронная сеть моделирует статистические взаимосвязи между токенами
- Используются окна токенов переменной длины
- Входные данные — последовательности токенов, выходные данные — предсказание следующего токена
Обучение нейронной сети
- Нейронная сеть инициализируется случайным образом
- Вероятности токенов обновляются для соответствия меткам
- Процесс обучения происходит в больших партиях токенов
Внутреннее устройство нейронной сети
- Нейронная сеть состоит из слоёв нейронов
- Каждый нейрон обрабатывает входные данные и передаёт результат следующему слою
- Обучение сети включает настройку весов нейронов для улучшения предсказаний
Входные данные и их обработка
- Входные данные представляют собой последовательности токенов.
- Максимальное количество токенов ограничено для экономии ресурсов.
- Токены смешиваются с параметрами нейронной сети в математическом выражении.
Обучение нейронной сети
- Параметры сети устанавливаются случайным образом.
- Обучение корректирует параметры для согласования с обучающим набором.
- Параметры можно сравнить с ручками на диджейском пульте.
Пример нейронной сети
- Трансформер — это производственная нейронная сеть с 85.000 параметрами.
- Токены встраиваются в распределённую репрезентацию.
- Информация проходит через слои нормализации, матричные умножения и другие преобразования.
Вывод (инференс)
- На этапе вывода генерируются новые данные из модели.
- Процесс начинается с префикса и продолжается выбором токенов на основе вероятностей.
- Системы стохастические, что приводит к генерации ремиксов обучающих данных.
Обучение и вывод нейронных сетей
- Обучение включает настройку параметров для достижения желаемых результатов.
- Вывод использует фиксированные параметры для генерации данных.
- ChatGPT использует обученную модель с фиксированными весами.
Пример обучения GPT2
- GPT2 — вторая итерация серии GPT от OpenAI, опубликованная в 2019 году.
- Модель имела 1 млрд параметров и максимальную длину контекста 1024 токена.
- Обучена на 100 млрд токенов, что мало по современным стандартам.
Снижение стоимости обучения
- Современные наборы данных и методы подготовки стали лучше.
- Компьютеры и программное обеспечение для запуска моделей стали быстрее и эффективнее.
- Стоимость обучения GPT2 снизилась с 40.000 долларов до 600 долларов.
Процесс обучения
- Каждая строка в процессе обучения — одно обновление модели.
- Обновление улучшает предсказание следующего токена в последовательности.
- Потеря — число, показывающее, насколько хорошо работает модель.
Результаты обучения
- Модель начинает генерировать связанный текст после нескольких тысяч шагов.
- Обучение занимает около дня или двух.
Вычислительная сторона обучения
- Обучение проводится на компьютере в облаке.
- Используется узел 8X A100, арендованный в компании Lambda.
Тарифы на графические процессоры
- A1 предлагает тарифы по запросу для графических процессоров NVIDIA H100.
- Стоимость аренды одного GPU составляет 3 доллара в час.
- Графические процессоры идеально подходят для обучения нейронных сетей благодаря высокому уровню параллелизма.
Использование графических процессоров
- Можно арендовать несколько GPU и объединить их в узлы и дата-центры.
- Крупные технологические компании используют GPU для обучения языковых моделей.
- Высокая стоимость GPU привела к росту акций NVIDIA.
Базовые модели
- Базовые модели — это симуляторы текстовых токенов из интернета.
- Они не могут отвечать на вопросы, а создают ремиксы интернета.
- Примеры базовых моделей: GPT-2 и Llama 3.
Процесс выпуска моделей
- Для выпуска модели нужны код на Python и параметры нейронной сети.
- Параметры представляют собой список чисел, которые определяют настройки модели.
- GPT-2 имел 1,6 млрд параметров, обученных на 100 млрд токенов.
Llama 3
- Llama 3 — это модель с 405 млрд параметров, обученная на 15 триллионах токенов.
- META выпустила Llama 3 и модель instruct, которая может отвечать на вопросы.
Работа с базовыми моделями
- Базовая модель Llama 3.1 405b доступна на сайте hyperbolic.
- Модель генерирует последовательность токенов на основе префикса.
- Для одного и того же префикса каждый раз получается разный ответ из-за распределения вероятностей.
Извлечение знаний из базовой модели
- Модель может извлекать знания из параметров, но они могут быть неточными и расплывчатыми.
- Часто встречающиеся данные запоминаются лучше, чем редкие.
Регургитация и её причины
- Модель может точно воспроизводить записи из Википедии по памяти.
- Регургитация происходит из-за частого повторения данных во время обучения.
- Модели могут запоминать данные эффективнее, чем люди.
Галлюцинации и предположения
- Модель может делать обоснованные предположения о событиях, которых не видела.
- Галлюцинации возникают из-за вероятностного порядка генерации токенов.
Практическое применение базовой модели
- Модель можно использовать для перевода с помощью запросов с несколькими примерами.
- Модель обладает способностью к обучению в контексте.
Создание языковой модели помощника
- Можно создать помощника, структурируя запрос как разговор между помощником и человеком.
- Модель принимает на себя роль помощника и продолжает разговор.
Резюме
- Этап предварительного обучения включает разбиение интернет документов на токены и предсказание последовательностей.
- Базовая модель является симулятором интернет документов на уровне токенов.
- Для создания ассистента нужно делать лучше, чем просто базовая модель.
Этап посто обучения
- Превращение базовой модели в ассистента
- Обучение на наборах данных разговоров
Создание наборов данных
- Примеры разговоров от людей методистов
- Модель обучается на этих примерах
Процесс обучения
- Замена набора данных интернет документов на набор данных разговоров
- Модель быстро адаптируется к новым данным
Токенизация разговоров
- Превращение разговоров в последовательности токенов
- Использование специальных токенов для обозначения начала и конца реплик
Тестирование и вывод
- Модель предсказывает следующий токен в последовательности
- Создание контекста и выборка из модели для генерации ответа
Статья GPT-3 и её вклад
- В 2020 году OpenAI представила статью о дообучении языковых моделей на разговорах.
- Для создания разговоров были наняты люди-методологи через Upwork или Scale AI.
- Методологи придумывали подсказки и идеальные ответы, следуя инструкциям по разметке.
Процесс создания данных
- Компания разрабатывает инструкции по разметке, которые люди изучают и следуют.
- Процесс создания данных трудоёмкий и требует профессиональных навыков.
- Набор данных для Instruct GPT не был выпущен, но есть открытые репродукции.
Обучение модели
- Модель обучается на наборах данных с примерами поведения.
- Модель принимает на себя личность полезного, правдивого и безвредного ассистента.
- Во время тестирования модель может давать ответы, похожие на те, что были в обучающем наборе.
Современные наборы данных
- За последние 2-3 года технологии продвинулись, и языковые модели помогают создавать данные.
- Современные наборы данных содержат миллионы синтетических разговоров, отредактированных людьми.
- Наборы данных охватывают огромное разнообразие областей и источников.
Магия общения с чат GPT
- Ответы чат GPT статистически соответствуют обучающему набору данных.
- Обучающие наборы содержат данные, собранные людьми, следовавшими инструкциям по разметке.
- Чат GPT имитирует ответы людей, участвовавших в создании наборов данных.
Пример запроса
- При запросе о достопримечательностях Парижа чат GPT даёт статистическую симуляцию ответов людей.
- Если запрос не входит в обучающий набор, модель даёт ответ, основанный на статистических паттернах из данных.
Предварительное обучение и имитация
- Большие языковые модели получают знания из интернета.
- Предварительное обучение комбинируется с набором после обучения.
- Это приводит к имитации ответов на основе обучающего набора.
Галлюцинации моделей
- Галлюцинации — это когда модели выдумывают информацию.
- Проблема существовала у ранних моделей и немного улучшилась.
- Модели не имеют доступа к интернету и не проводят исследования.
Пример галлюцинаций
- Модель может давать разные ответы на один и тот же вопрос.
- Ответы статистически согласуются с обучающим набором.
- Модель имитирует формат ответа, не зная правильного ответа.
Смягчение галлюцинаций
- Современные модели могут использовать инструменты для поиска информации.
- Модели могут говорить, что не знают ответа, если это так.
Методы улучшения
- Добавление примеров в обучающий набор, где модель не знает ответа.
- Эмпирическое исследование модели для определения её знаний.
- Допрос модели для выявления случаев, когда она не знает ответа.
Пример работы с галлюцинациями
- Мета допрашивает модели, чтобы выяснить, что они знают.
- Используются случайные документы и вопросы для проверки знаний модели.
- Ответы модели сравниваются с правильными ответами для определения её уверенности.
Проблема галлюцинаций у моделей
- Модели могут выдумывать ответы на вопросы, которые не знают.
- Для определения этого можно допрашивать модель несколько раз и сравнивать ответы с правильными.
Обучение модели отказу от ответов
- Если модель не знает ответа, её можно научить отвечать «Извините, я не знаю».
- Это снижает вероятность галлюцинаций и улучшает фактическую точность.
Использование инструментов для поиска информации
- Модели можно научить использовать специальные токены для запроса информации из интернета.
- Токены позволяют модели приостанавливать генерацию и выполнять поиск.
Процесс использования инструментов
- Модель генерирует токен для начала поиска, отправляет запрос в поисковую систему.
- Полученный текст вставляется в контекстное окно модели, что улучшает её доступ к информации.
Обучение модели использованию инструментов
- Модели обучаются через обучающие наборы с примерами использования инструментов.
- Модель учится структурировать запросы и понимать, какая информация нужна для поиска.
Преимущества использования инструментов
- Инструменты позволяют моделям получать актуальную информацию и ссылаться на источники.
- Это улучшает точность ответов и снижает вероятность ошибок.
Уменьшение галлюцинаций и обеспечение точности
- Знание в параметрах нейронной сети — это смутное воспоминание.
- Контекстное окно — это рабочая память, формируемая сознательным опытом.
- Предоставление контекста улучшает качество ответов модели.
Знание о себе
- Вопросы о личности модели бессмысленны, так как модель не имеет постоянного существования.
- Модель может выдумывать ответы на основе статистических закономерностей обучающего набора.
- Можно переопределить идентичность модели через жёстко закодированные данные или системные сообщения.
Вычислительные возможности
- Модели могут решать простые математические задачи, но важно правильно составлять примеры для обучения.
- Один и тот же правильный ответ может быть лучше другого по качеству.
- Неправильные ответы могут ухудшить математические способности модели.
Токенизация и вычисления
- Модели работают с одномерной последовательностью токенов слева направо.
- Для генерации следующего токена используются все предыдущие токены.
- Количество слоёв вычислений ограничено, что ограничивает сложность вычислений на один токен.
Распределение вычислений
- Модель не может выполнить все вычисления в одном токене из-за ограниченного количества слоёв.
- Распределяя вычисления по многим токенам, модель может достичь более точного ответа.
- Промежуточные результаты помогают модели накапливать информацию и упрощают определение окончательного ответа.
Практические примеры
- Модель может выдать правильный ответ за один токен для простых задач, но не для сложных.
- Увеличение сложности задачи требует больше промежуточных вычислений.
- Использование кода вместо умственных вычислений может повысить точность и надёжность ответа.
Неравномерный интеллект
- Нейронные сети могут совершать ошибки в промежуточных вычислениях.
- Код и интерпретаторы, такие как Python, обеспечивают больше гарантий правильности.
- В повседневной жизни лучше использовать инструменты для сложных вычислений, а не полагаться на умственные вычисления модели.
Использование интерпретатора кода
- Модели могут использовать интерпретатор кода для выполнения задач, таких как подсчёт.
- Это позволяет избежать ошибок, связанных с обработкой большого количества данных в одном токене.
Проблемы с подсчётом
- Модели не очень хороши в подсчёте из-за ограничений контекстного окна и количества вычислений.
- Использование кода позволяет разбить задачу на более простые шаги и использовать инструменты для подсчёта.
Проблемы с правописанием
- Модели видят токены, а не символы, что затрудняет выполнение задач на уровне символов.
- Использование кода позволяет обойти эти ограничения, используя интерпретатор Python для манипуляции символами.
Другие когнитивные недостатки
- Модели могут испытывать трудности с простыми задачами, несмотря на способность решать сложные математические задачи.
- Это связано с активациями внутри нейронной сети, которые могут быть связаны с библейскими текстами.
Модель и библейские стихи
- Модель напоминает маркеры библейских стихов
- 911 в контексте библейских стихов отвлекает
- Модель пытается оправдать это математикой, но ответ неправильный
Этапы обучения больших языковых моделей
- Предварительный этап: обучение на интернет-данных, создание базовой модели
- Постобучение: создание помощника через контролируемую до настройку
- Когнитивные последствия: галлюцинации, меры по их смягчению, использование инструментов
Обучение с подкреплением
- Последний этап обучения, передача моделей через «школу»
- Три типа информации: изложение, задачи с решениями, практические задачи
- Практические задачи: подсказки и окончательные ответы, но без экспертных решений
Пример задачи
- Эмили покупает три яблока и два апельсина, общая стоимость 13 долларов
- Четыре возможных решения, все приводят к ответу три
- Пометчик данных не знает, какой разговор добавить в набор данных
- Цель решения: достичь правильного ответа и оценить процесс решения
Цели и задачи
- Основная цель — получить правильный ответ.
- Второстепенная цель — сделать процесс приятным для человека.
- Важно представить решение красиво и показать промежуточные шаги.
Проблемы с аннотированием
- Люди не знают, какие последовательности токенов лучше для ЛМ.
- Когниции людей и ЛМ различаются, что усложняет процесс.
- ЛМ может знать больше, чем человек, но не использовать эти знания.
Обучение с подкреплением
- Обучение с подкреплением помогает ЛМ найти надёжные последовательности токенов.
- Модель генерирует множество решений и анализирует их.
- Правильные решения поощряются, неправильные — нет.
Процесс обучения
- Модель обучается на правильных решениях, найденных методом проб и ошибок.
- Обучение происходит на тысячах запросов и решениях.
- Модель самостоятельно открывает последовательности, которые работают для неё.
Преимущества обучения с подкреплением
- Метод позволяет модели использовать свои знания эффективно.
- Обучение с подкреплением — это метод проб и ошибок, который помогает модели улучшать свои навыки.
Обучение языковых моделей
- Обучение инициализирует модель вблизи правильных решений.
- Обучение с подкреплением настраивает модель для получения правильных ответов.
Этапы обучения
- Предварительное обучение: чтение всей экспозиции для построения базы знаний.
- Контролируемая доработка (СФТ): имитация экспертов на основе готовых решений.
- Практические задачи (Л): решение задач для улучшения модели.
Особенности этапов
- Предварительное обучение и СФТ используются давно и стандартно.
- Этап Л находится на ранней стадии развития и требует много деталей и настроек.
Обучение с подкреплением
- Обучение методом проб и ошибок улучшает точность решения задач.
- Модель учится создавать длинные решения и использовать когнитивные стратегии.
Пример применения
- Модель, обученная с подкреплением, демонстрирует более качественное решение задач.
- Модель переоценивает идеи и подходы, как это делают люди.
Сравнение с другими моделями
- Модель, обученная с подкреплением, показывает более глубокое мышление и рассуждения.
- Модель доступна на Chat dc.com и требует включения кнопки Deep для использования.
Обучение с подкреплением и его роль
- Обучение с подкреплением (RLHF) помогает моделям формулировать красивые решения и увеличивать точность.
- Модели, обученные с помощью RLHF, демонстрируют различные стратегии и озарения.
Безопасность и доступность моделей
- Некоторые люди опасаются вводить чувствительные данные в чат GPT из-за китайской компании.
- M deeps R1 — открытая модель, доступная для скачивания, но требует мощных устройств для запуска.
Сравнение моделей
- Модели мышления, такие как M deeps R1, доступны на платформе Together ai.
- Модели GPT 4.0 и GPT 4.0 Mini являются моделями с контролируемой дообучения (SFT) и не занимаются продвинутым мышлением.
Преимущества и ограничения моделей мышления
- Модели мышления лучше справляются с сложными задачами, но требуют больше времени для обработки.
- OpenAI скрывает цепочки рассуждений, чтобы предотвратить их имитацию.
Экспериментальные модели
- Google предлагает экспериментальную модель мышления Gini 2.0 Flash Thinking.
- Модели мышления находятся в стадии разработки и являются экспериментальными.
Сравнение с другими методами обучения
- Обучение с подкреплением более мощное, чем контролируемое обучение, как показано на примере игры го.
- Модели, обученные с помощью RLHF, могут достигать более высоких уровней производительности.
Обучение с подкреплением в Go
- Система AlphaGo использует обучение с подкреплением для создания ходов, приводящих к победе.
- AlphaGo играет сама с собой, пробуя множество решений и получая подкрепление за успешные ходы.
- Обучение с подкреплением позволяет системе находить уникальные стратегии, неизвестные людям.
Уникальность стратегий
- Обучение с подкреплением не ограничено человеческими возможностями и может превзойти топовых игроков.
- AlphaGo сделал ход 37, который ни один человек не сделал бы, но оказался блестящим.
- Обучение с подкреплением может открыть новые стратегии мышления и языки, не ограниченные английским.
Обучение в непроверяемых областях
- В проверяемых областях решения легко оценить по сравнению с конкретным ответом.
- В непроверяемых областях, таких как творчество, оценка решений сложнее.
- Обучение с подкреплением на основе человеческой обратной связи предлагает решение этой проблемы.
Обучение с подкреплением на основе человеческой обратной связи
- Подход RHF использует нейронную сеть для имитации оценок людей.
- Нейронная сеть обучается на оценках людей и становится симулятором человеческих предпочтений.
- Это позволяет масштабировать обучение с подкреплением в непроверяемых областях без необходимости бесконечного количества человеческого времени.
Обучение с подкреплением против симулятора нейронной сети
- Симулятор позволяет проводить обучение без участия человека
- Процесс полностью автоматизирован и может повторяться многократно
- Симулятор не идеален, но статистически похож на человеческие суждения
Процесс обучения модели вознаграждения
- Запрос и пять шуток подаются на вход модели
- Люди упорядочивают шутки от лучшей к худшей
- Модель вознаграждения оценивает шутки и сравнивает свои оценки с порядком людей
- Функция потерь корректирует модель для соответствия человеческим оценкам
Преимущества обучения с подкреплением на основе человеческой обратной связи
- Позволяет применять обучение в произвольных областях
- Улучшает производительность модели
- Люди вносят вклад, не выполняя сложных задач
Недостатки обучения с подкреплением на основе симулятора
- Обучение происходит не с реальными людьми, а с искажённой симуляцией
- Симуляция может вводить в заблуждение
- Обучение с подкреплением может находить способы обмануть модель вознаграждения
Обман моделей с подкреплением
- Модели с подкреплением можно обмануть, используя входные данные, не входящие в обучающий набор.
- Эти данные могут получать высокие оценки, несмотря на бессмысленность.
- Обучение с подкреплением находит способы обмануть модель, даже если добавлять бессмысленные примеры с низкими оценками.
Ограничения RHF
- RHF не является настоящим RL, так как функция вознаграждения поддаётся обману.
- RHF может улучшить модель, но не гарантирует идеального результата.
- В проверяемых областях, таких как игра го, RL можно запускать бесконечно, так как нет способа обмануть выигрыш или проигрыш.
Процесс обучения моделей
- Модели проходят три этапа: предварительное обучение, контролируемая до настройка и обучение с подкреплением.
- Предварительное обучение похоже на чтение и приобретение знаний.
- Контролируемая до настройка включает изучение примеров с решениями и подражание экспертам.
- Обучение с подкреплением улучшает модель, но может привести к обману.
Будущее моделей
- Модели станут мультимодальными, обрабатывая текст, аудио и изображения.
- Это позволит вести естественные разговоры и решать задачи в разных дисциплинах.
- Мультимодальность достигается путём токенизации аудио и изображений и применения существующих подходов.
Обучение моделей на аудио и изображениях
- Добавление токенов для аудио и изображений в контекстные окна
- Использование патчей для изображений и их тонизация
- Создание потоков токенов для аудио, изображений и текста
Долгосрочные агенты задач
- Модели не могут согласованно выполнять длительные задачи
- Развитие агентов, контролируемых человеком
- Агенты будут выполнять задачи в течение десятков секунд, минут или часов
Контроль и интеграция
- Необходимость контроля за моделями, особенно в цифровом пространстве
- Интеграция моделей в инструменты и повседневные задачи
- Возможность моделей действовать от имени пользователя
Обучение во время тестирования
- Модели фиксируют параметры после обучения и не учатся на новых данных
- Обучение в контексте как единственный тип обучения во время тестирования
- Необходимость новых идей для масштабирования контекстных окон
Отслеживание прогресса
- Использование Arena для отслеживания лучших моделей
- Рассылка новостей об ИИ от Svit и его друзей
- Слежение за людьми на X и Twitter для получения последних новостей
Использование моделей
- Крупные проприетарные модели доступны на сайтах поставщиков
- Модели с открытыми весами можно найти у провайдеров инса LM, таких как Together ai
- Базовые модели редко встречаются на провайдерах, большинство нацелены на ассистентов и чат
Поиск базовых моделей
- Автор предпочитает гиперболические модели, такие как Lama 3.1.
- LM Studio — популярное приложение для работы с моделями, но с неудобным интерфейсом.
Процесс работы с моделями
- Запрос разбивается на токены и обрабатывается в формате протокола разговора.
- Модель продолжает последовательность токенов, действуя как автозаполнение.
Обучение моделей
- Этап предварительного обучения включает интеграцию знаний из интернета.
- Контролируемая до настройка формирует личность модели с помощью аннотаций.
Модели мышления
- Модели мышления, такие как GPT-3, используют обучение с подкреплением для совершенствования.
- GPT-4.0 не использует обучение с подкреплением в значительной степени.
Ограничения моделей
- Модели могут страдать от галлюцинаций и ошибок в когнитивных задачах.
- Обучение с подкреплением всё ещё находится в стадии развития и его применение к различным областям остаётся открытым вопросом.
Возможности моделей
- Модели способны на аналогии, которые не приходили в голову людям
- Они могут делать что-то новое и захватывающее в открытом мышлении и решении проблем
- Эти модели могут быть эквивалентны ходу 37 в игре го, но в более широком контексте
Ограничения моделей
- Модели пока что первобытные и будут проявляться в областях, которые можно проверить, таких как математика и код
- Они могут случайно делать глупости, циви, пропускать умственные вычисления и не считать правильно
Использование моделей
- Модели значительно ускоряют работу и могут быть использованы ежедневно
- Они могут быть полезны для создания богатства
- Используйте их как инструменты в инструментальном ящике, проверяйте их работу и будьте ответственны за результат
Рекомендации по использованию
- Используйте модели для вдохновения и первого черновика
- Задавайте им вопросы, но всегда проверяйте и подтверждайте ответы
- Будьте внимательны к недостаткам моделей, даже с моделями обучения с подкреплением
Заключение
- Это захватывающее время для работы в этой области
- Видео было полезным и интересным, надеюсь, вам было весело
В этом видео
Введение
0:00
Привет всем я хотел сделать это видео уже некоторое время это всеобъемлющее но
0:07
общее введение в большие языковые модели такие как Chat gpt и что я надеюсь
0:13
достичь в этом видео так это дать вам некие ментальные модели для понимания того что представляет собой этот
0:19
инструмент в некоторых отношениях это безусловно волшебно и удивительно он
0:24
действительно хорош в некоторых вещах но не очень хорош в других и также есть много острых углов о которых стоит помнить Итак что стоит за этим текстовым
0:31
полем Вы можете вставить туда что угодно и нажмите enter но что же нам туда
0:36
вставлять А что это за слова которые генерируются в ответ как это работает И с кем же ты разговариваешь собственно
0:44
Так что я надеюсь затронуть все эти темы в этом видео мы пройдём через весь процесс того как это всё создаётся но я
0:49
постараюсь сделать всё доступным для широкой аудитории Итак давайте Сначала посмотрим
0:55
как строится что-то вроде Т gpt И по ходу дела Я собираюсь поговорить о том
Данные для предварительного обучения (интернет)
1:01
Некоторые из когнитивных и психологических последствий использование этих
1:06
инструментов Хорошо давайте построим чат gpt Итак будет несколько этапов расположенных последовательно первый
1:13
этап называется этапом предварительного обучения и первый шаг этапа предварительного обучения — это скачать
1:19
и обработать интернет теперь чтобы понять Как это примерно выглядит Я рекомендую Взглянуть на этот
1:25
URL Итак э компания называемая hugging
1:31
Face собрала создала и отобрала этот набор данных который называется Fine Web
1:36
и они в этом блоге подробно рассказывают о том как они это построили набор данных Fine Web и все основные поставщики
1:43
больших языковых моделей такие как Open ai anopic и Google и так далее будут иметь что-то эквивалентное внутренне
1:49
вроде набора данных Fine Web Итак В общем что мы пытаемся здесь достичь мы
1:54
пытаемся получить огромное количество текста из интернета из общедоступных источников поэтому мы пытаемся получить
2:01
огромное количество документов высочайшего качества а также хотим обеспечить максимальное разнообразие
2:07
документов потому что мы хотим чтобы в этих моделях было много знаний Поэтому нам нужно большое разнообразие
2:13
качественных документов и мы хотим чтобы их было много и достичь этого довольно
2:18
сложно и как вы можете видеть для этого требуется несколько этапов чтобы сделать всё правильно Так что давайте посмотрим
2:24
как выглядят Некоторые из этих этапов немного позже на данный момент я хотел бы просто отметить что например набор
2:29
данных Fine Web довольно репрезентативна то что вы увидите в приложении производственного уровня на самом деле
2:35
занимает всего около 44 ТБ дискового пространства Э вы можете легко получить
2:41
USB накопитель на терабайт или я думаю это может поместиться на одном жёстком диске почти сегодня так что в конечном
2:48
итоге это не так уж много данных Хотя интернет очень-очень большой Мы работаем с текстом и также активно его фильтруем
2:55
таким образом в этом примере у нас получается около 44 ТБ Давайте посмотрим как выглядят эти
3:01
данные и какие из этих этапов также существуют Итак отправной точкой для
3:06
многих из этих усилий и тем что в конечном итоге вносит большую часть данных являются данные из Common crl
3:13
Итак Common croll — это организация которая по сути исследует интернет С 2007 года Итак на 2024 год например
3:20
Common CR проиндексировали 27 млрд веб-страниц и у них есть все эти пауки
3:26
которые бродят по интернету и в итоге Вы по сути начинаете с нес начальных веб-страниц а затем следуете За всеми
3:32
ссылками и вы просто продолжаете следовать за ссылками и вы продолжаете индексировать всю информацию и в итоге у
3:38
вас накапливается огромное количество данных из интернета с течением времени Итак это обычно отправная
3:45
точка Для многих из этих усилий теперь эти данные из com довольно сырые и
3:50
фильтруются многими многими разными способами Итак здесь они документ это та
3:58
же диаграмма Они немного описывают какой процесс происходит на этих этапах Итак первое О чём здесь идёт речь — это
4:05
фильтрация URL Так что это относится к чёрным
4:11
спискам в основном это URL адреса доменов с которых вы не хотите получать
4:17
данные обычно это включает в себя такие вещи как сайты с вредоносным по спам сайты маркетинговые сайты расистские
4:25
сайты сайты для взрослых и подобные Итак На этом этапе исключается
4:30
ти вебсайтов потому что мы не хотим чтобы они были в нашем наборе данных вторая часть — это извлечение
4:37
текста Вы должны помнить что все эти веб-страницы — это сырой HTML этих веб-страниц которые сохраняются этими
4:43
пауками Итак когда я иду проверять здесь вот как на самом деле выглядит СРО
4:49
HTML вы заметите что здесь есть вся эта разметка вроде списков и подобного и
4:54
есть CS и всякие такие ве комп почти для этих веб-страниц Но
5:01
что мы на самом деле хотим так это просто этот текст верно Мы просто хотим текст этой веб-страницы и нам не нужны
5:06
навигация и подобные вещи Итак существует много фильтрации обработки и
5:11
эврик которые используются для адекватной фильтрации только хорошего контента этих
5:17
веб-страниц следующий этап здесь — это фильтрация по языку например тонкие
5:26
веб-форм языке написана каждая отдельная веб-страница И оставляют только те веб-страницы где больше 65% текста на
5:32
английском как пример Итак вы можете понять что это как
5:38
бы дизайнерское решение которое разные компании могут принимать для себя какую
5:43
долю всех различных типов языков Мы собираемся включить в наш набор данных потому что например если мы
5:52
отфильтровать не очень хороша в испанском языке потому что вы просто никогда не видели так много данных на
5:57
этом языке Итак разные компании могут сосредоточиться на многоязычной производительности в разной степени Как
6:03
пример Итак Web довольно сильно сосредоточен на английском Итак их языковая модель если они в итоге обучат
6:09
одну Позже будет очень хороша в английском но возможно не очень хороша в других языках после фильтрации по языку Есть
6:17
ещё несколько этапов фильтрации дупликации и подобные
6:22
вещи заканчивая например удалением pdl это персонально
6:29
адреса номера социального страхования и подобные вещи вы будете пытаться их обнаружить и фильтровать такие
6:35
веб-страницы из набора данных Итак Здесь много этапов и я не буду вдаваться в подробности Но это
6:41
довольно обширная часть предварительной обработки и в итоге у вас получается Например набор данных Fine Web Итак
6:48
Когда вы на это нажимаете вы можете увидеть несколько примеров того как это на самом деле выглядит и любой Может это
6:54
скачать на веб-странице hing Face Итак вот несколько примеров финального текста
7:00
который оказывается в обучающем наборе Итак это статья о торнадо в 2012
7:06
году Итак в двадцатом году были некоторые торнадо в двенадцатом году и что
7:12
произошло следующий момент касается того знали ли вы что у вас в теле есть
7:18
две маленькие жёлтые надпочечники размером с девяти вольтовую батарейку хорошо это какая-то странная медицинская
7:26
статья Так что просто думайте об этом как об веб-страницах в интернете
7:31
отфильтрованных только по тексту различными способами А теперь у нас есть тонна текста 40 траб его и это теперь
7:38
является отправной точкой для следующего шага На этом этапе Я хотел бы дать вам интуитивное представление о том где мы
7:43
находимся сейчас Итак я взял первые 200 веб-страниц и Помните у нас их огромное
Токенизация
7:49
количество и я просто беру Весь этот текст И объединяют И вот что у нас В итоге
7:55
получается мы просто получаем этот просто сырой текст сырой интернет текст и его очень много даже на этих 200
8:02
веб-страницах так что я могу продолжать отдаляться И у нас есть такая Огромная ткань текстовых данных и в этих
8:08
текстовых данных есть все эти паттерны и что мы хотим сделать сейчас так это начать обучать нейронные сети на этих
8:14
данных таким образом нейронные сети могут усваивать и моделировать как этот
8:20
текст течёт верно Итак у нас есть эта гигантская текстура текста а теперь мы
8:27
хотим получить нейронные сети которые будут это имитировать Хорошо теперь прежде чем мы подключим
8:32
текст к нейронным сетям нам нужно решить как мы будем представлять этот текст И как мы будем его
8:38
подавать теперь как работает наша технология для этих нейронных сетей так это то что они ожидают
8:44
одномерной символов и хотят конечный набор возможных символов Итак нам нужно решить Какие
8:52
символы мы будем использовать а затем представить наши данные в виде одномерной последовательности этих
8:58
символов Итак а прямо сейчас у нас есть одномерная последовательность текста она начинается здесь и идёт сюда а затем
9:05
приходит сюда и так далее Итак это одномерная последовательность хотя на моём мониторе конечно она представлена в
9:11
двумерном виде но он идёт слева направо и сверху вниз верно Так что это одномерная последовательность
9:17
текста теперь поскольку это компьютеры конечно здесь есть базовое представление Итак если я выполню то что называется
9:24
кодировка utf8 для этого текста то я смогу получить сырые биты которые
9:30
соответствуют этому тексту в компьютере и это выглядит вот так
9:36
Итак оказывается что например этот самый первый бар здесь — это первые вос бит
9:42
Как пример так что же это такое верно Это
9:48
есть представление которое мы ищем в определённом смысле у нас есть ровно два
9:53
возможных символа ноль и один и у нас есть очень длинная последовательность из них верно
10:00
теперь как оказывается длина этой последовательности на самом деле будет
10:05
очень конечным и ценным ресурсом в нашей нейронной сети и на самом деле мы не
10:10
хотим очень длинные последовательности из всего лишь двух символов вместо этого мы хотим найти
10:17
компромисс это размер символов этого словаря как мы его называем и полученное
10:23
длина последовательности Итак мы не хотим просто два символа и чрезвычайно длинные последовательности
10:29
нам нужно больше символов и короче последовательности Итак один наивный
10:35
способ сжать или уменьшить длину нашей последовательности здесь это по сути рассмотреть какую-то группу
10:43
последовательных битов например 8 бит и объединить их в один то что называется
10:49
байтом поскольку эти биты могут быть либо включены либо выключены если мы возьмём группу из восьми из них
10:55
оказывается что существует всего 256 возможной комбинации того как эти биты могут быть включены или выключены Итак
11:02
Следовательно мы можем
11:15
переоборудовать от 0 до 255 теперь я действительно призываю вас
11:20
думать об этих не как о числах А как о уникальных идентификатора или уникальных символах Так что возможно это немного
11:27
больше возможно лучше на само ть об этих заменив каждый из них на уникальный эмодзи вы получите что-то вроде этого
11:34
Итак у нас по сути есть последовательность эмодзи и существует 256 возможных эмодзи Вы можете думать об
11:40
этом таким образом теперь оказывается в производстве
11:47
современных языковых моделей вам действительно нужно идти даже дальше этого вы хотите продолжать уменьшать
11:52
длину последовательности потому что опять же это ценный ресурс в обмен на большее количество
11:58
символов словаре и делается это с помощью алгоритма называемого кодированием пар
12:04
байтов и способ которым это работает заключается в том что мы по сути ищем последовательные байты или символы
12:10
которые очень распространены Итак например оказывается что последовательность 116 за которой
12:17
следует 32 довольно распространена и встречается очень часто Итак что мы
12:22
собираемся сделать так это сгруппировать эту пару в новый символ
12:29
Итак мы собираемся создать символ с идентификатором 256 и мы перепишем каждую пару 11632 с этим новым символом
12:36
и затем мы можем повторять этот алгоритм столько раз сколько захотим и каждый раз
12:42
когда мы создаём новый символ мы уменьшаем длину и увеличиваем размер символа А на практике оказывается что
12:49
довольно хорошая настройка в основном размер словаря оказывается около 100.000 возможных
12:56
символов Итак в частности gt4 исполь 100 277
13:02
символов и этот процесс преобразования преобразование сырого текста в эти символы или как мы их
13:10
называем токены называется токенизация Итак давайте теперь посмотрим как gpt 4
13:16
выполняет токенизация преобразуя текст в токены А токены обратно в текст и как это на самом деле выглядит Итак Один
13:24
веб-сайт который мне нравится использовать для изучения этих представлений токенов называется тик
13:29
tokenizer Итак Приходите сюда в выпадающее меню и выберите CL 100k Base который является
13:40
токенизация
13:49
ровно из двух токенов token Hello который является токеном с идентификатором
13:56
10539 и Space World который является токеном
14:01
1917 это токен 191 Итак привет мир теперь если я соединю
14:10
эти два Например я снова получу два токена но это будет токен H за которым следует токен Hello
14:16
world без час если я поставлю здесь два пробела
14:22
между Привет и мир это снова будет другая токенизация здесь новый токен 220
Ввод/вывод нейронной сети
14:30
хорошо Вы можете поиграть с этим и посмотреть что здесь происходит также имейте в виду это чувствительно к
14:37
регистру Так что если это заглавное H это будет что-то другое или если это э привет мир то на самом деле это
14:44
оказывается три токена вместо всего лишь двух
14:50
токенов Да вы можете поиграть с этим и получить интуитивное представление о том как работают эти токены на самом деле мы
14:58
вернёмся к низации же видео пока что я просто хотел показать вам сайт и хотел
15:03
показать что этот текст в общем-то в конечном итоге Итак Например если я возьму одну строку здесь вот как это
15:09
увидит gp4 Итак этот текст будет последовательностью длиной
15:15
62 это последовательность здесь и вот как куски текста соответствуют этим
15:22
символам и снова существует 1277 возможных символов
15:32
Итак Да мы вернёмся к низации но на данный момент это то где мы находимся
15:37
хорошо Так что я сделал сейчас я взял эту последовательность текста которую мы имеем здесь в наборе данных и представил
15:43
её заново используя наш низар в последовательность токенов и вот как это
15:48
выглядит сейчас Итак например когда Мы возвращаемся к набору данных Они
15:53
упомянули что это не только 44 дискового пространства но Следовательно из 15 триллионов
16:00
токенов из м в этом наборе данных Итак здесь это всего лишь
16:07
Некоторые из первых один или два или три или несколько тысяч токенов из этого
16:12
набора данных но здесь нужно помнить о 15 триллионах и снова имейте в виду ещё раз
16:18
что всё это представляет собой маленькие кусочки текста они все просто как атомы этих последовательностей и числа здесь
16:26
не имеют смысла идентификаторы хорошо Итак Теперь мы переходим к
16:33
интересной части а именно к обучению нейронной сети и здесь происходит большая часть вычислительной нагрузки
16:39
Когда вы обучается эти нейронные сети Итак что мы делаем На этом этапе так это
16:46
моделируем статистические взаимосвязи того как эти токены следуют друг за другом в последовательности Итак что мы делаем
16:53
так это Заходим в данные и берём окна токенов Итак мы берём окно токенов из
16:59
этих данных довольно случайным образом и длина окна может варьироваться от нуля
17:07
токенов на самом деле до какого-то максимального размера который мы определяем Итак например на практике Вы
17:14
могли бы увидеть окна токенов скажем по 88.000 токенов теперь в принципе мы
17:20
можем использовать произвольные длины окон токенов но обработка очень
17:26
длинных в основном последовательность окон будут просто очень затратными с точки зрения вычислений итак итак мы
17:33
просто решаем что скажем 88.000 — это хорошее число или 4.000 или 16.000 и обрезаем его
17:40
там теперь в этом примере я возьму первые четыре токена чтобы всё хорошо
17:45
вписалось Итак эти токены Мы собираемся взять окно из
17:51
четырёх токенов Bar View Pink и Space Single которые являются этими
17:56
идентификаторами токенов и теперь то что мы пытаемся сделать здесь это в основном предсказать токен
18:03
который идёт следующим в последовательности Итак следующим идёт 3962 верно Итак что мы делаем сейчас так
18:12
это называем это контекстом эти четыре токена — это контекст и они подаются в нейронную сеть и это входные данные для
18:19
нейронной сети теперь я собираюсь немного подробнее рассказать о том что внутри
18:25
этой нейронной сети на данный момент важно понять входные и выходные данные нейронной сети Итак входные данные это
18:32
последовательности токенов переменной длины где-то от ноли до какого-то максимального размера например
18:39
88.000 выходные данные сейчас — это предсказание того что будет дальше
18:45
Итак поскольку наш словарь содержит 10077 возможных токенов нейронная сеть
18:51
будет выводить ровно столько же чисел и все эти числа соответствуют вероятности того что этот токен будет следующим в
18:57
последовательности таким образом она делает предположение о том что будет
19:03
дальше в начале эта нейронная сеть инициализируется случайным образом Итак мы вскоре Увидим что это значит
19:11
но это случайная трансформация Итак эти вероятности в самом начале обучения тоже
19:16
будут немного случайными итак у меня есть три примера но имейте в виду что здесь 100.000
19:23
чисел Итак вероятность этого токена направление пробела нейронная сеть говорит что это сейчас 4% Ани sone 9 это
19:33
2% а затем здесь вероятность 3962 который означает пост составляет
19:40
3% теперь Конечно мы выбрали это окно из нашего набора данных Так что мы знаем что будет дальше мы знаем И это метка
19:46
что правильный ответ М это 3962 который действительно идёт в следующем в последовательности Итак Теперь у нас
19:53
есть этот математический процесс для обновления нейронной сети У нас есть
19:59
способ его настроить и мы него Подробнее об этом поговорим позже но в основном мы
20:05
знаем что вероятность здесь 3% мы хом чтобы э вероятность была выше и мы хом
Внутреннее устройство нейронной сети
20:12
чтобы вероятности всех остальных токенов были ниже Итак у нас есть способ
20:18
математически рассчитать Как настроить и обновить нейронную сеть чтобы правильный ответ имел Немного более высокую
20:25
вероятность Итак если я сейчас обновлю нейронную се В следующий раз когда я подам эту
20:31
конкретную последовательность из четырёх токенов в нейронную сеть нейронная сеть будет немного настроена теперь и она
20:37
скажет хорошо пост Возможно 4% а случай теперь возможно 1% и вероятность направление может стать
20:45
2% или что-то в этом роде Итак у нас есть способ немного подправить нейронную сеть
20:50
чтобы в основном нужно дать более высокую вероятность правильному токену который идт следующим в
20:57
последовательности просто нужно помнить что этот процесс происходит не только для
21:04
этого токена вот здесь эти четыре токена были поданы и предсказали этот этот
21:10
процесс происходит одновременно для всех этих токенов во всём наборе данных Итак на практике мы выбирали небольшие окна
21:17
небольшие партии окон и затем на каждом из этих токенов Мы хотим настроить нашу
21:23
нейронную сеть так чтобы вероятность этого токена стала немного выше и всё это происходит л в больших партиях этих
21:30
токенов и это процесс обучения нейронной сети это последовательность обновлений
21:35
чтобы его предсказания соответствовали статистике того что на самом деле происходит в вашем обучающем наборе и
21:42
его вероятности становились согласованными со статистическими паттернами того как эти
21:48
токены следуют друг за другом в данных Итак давайте теперь кратко рассмотрим внутреннее устройство этих нейронных
21:55
сетей чтобы вы поняли что находится внутри Итак внутреннее устройство нейронной
22:00
сети Итак как я уже упоминал У нас есть эти входные данные которые представляют собой последовательности токенов в этом
22:08
случае это четыре входных токена Но их может быть от нуля до скажем 88000 токенов в принципе это может быть
22:14
бесконечное количество токенов просто было бы слишком затратно с точки зрения вычислений обрабатывать
22:20
бесконечное количество токенов Итак мы просто обрезаем его до определённой длины и это становится максимальной
22:25
длиной контекста этой модели теперь эти входные данные X смешиваются в гигантском
22:32
математическом выражении вместе с параметрами или весами этих нейронных сетей Итак здесь я показываю шесть
22:39
примеров параметров и их настройки но на практике эти современные нейронные сети будут
22:46
иметь миллиарды таких параметров и в начале эти параметры устанавливаются совершенно случайным
22:52
образом теперь с случайной настройкой параметров Вы могли бы ожидать что эта нейронная сеть будет делать
22:59
случайные предсказания и это так в начале Это совершенно случайные предсказания Но именно через этот
23:05
процесс итеративности и мы называем этот процесс обучением
23:11
нейронной сети Так что настройки этих параметров
23:16
корректируются таким образом чтобы выходы нашей нейронной сети стали согласованными с паттернами наблюдаемыми
23:22
в нашем обучающем наборе Итак думайте об этих параметрах как о ручках на диджейс пульте И когда
23:30
вы их крутите вы получаете разные предсказания для каждой возможной последовательности входных токенов А
23:37
обучение нейронной сети просто означает нахождение настройки параметров которые кажется согласуется со статистикой
23:43
обучающего набора теперь Позвольте мне привести вам пример того как выглядит это Гигантское математическое выражение
23:50
просто чтобы Вы могли представить себе а современные сети это огромные выражения вероятно с триллиона членов но Позвольте
23:57
мне показать вам простой пример это будет выглядеть примерно так я имею в виду это такие выражения просто чтобы
24:04
показать вам что это не так уж и страшно У нас есть входные данные X такие как X1
24:09
X2 в этом случае два примера входных данных и они смешиваются с Весами сети v0 V1 V2 V3 и так далее А это смешивание
24:20
простые вещи такие как умножение сложение возведение в степень деление и
24:25
так далее И это предмет архитектуры нейронных сетей разрабатывать
24:30
эффективные математические выражения которые имеют множество удобных характеристик они выразительны их можно
24:38
оптимизировать их можно параллели и так далее Итак в конце концов это несложные
24:44
выражения в основном они смешивают входные данные с параметрами чтобы делать предсказание и мы оптимизируем
24:50
параметры этой нейронной сети так чтобы предсказания соответствовали Обучаю
24:56
набору теперь я тел чтобы показать вам реальный пример нейронной сети производственного уровня поэтому Я
25:03
призываю вас посетить этот веб-сайт на котором есть очень хорошая визуализация одной из этих
25:08
сетей Итак вот что вы найдёте на этом веб-сайте и это нейронная сеть которая
25:15
используется в производственных условиях имеет такую особую структуру эта сеть называется
25:20
трансформером А это конкретная в качестве примера имеет примерно 85.000
25:26
параметров теперь здесь вверху мы берём входные данные которые представляют собой последовательности
25:33
токенов а затем информация проходит через нейронную сеть до выхода который здесь представляет собой logit Soft Max
25:40
Но это предсказание того что будет дальше какой токен будет следующим а
25:46
затем здесь происходит последовательность преобразований и все эти промежуточные значения которые
25:52
создаются внутри этого математического выражения поскольку она как бы предсказывает что будет дальше
25:58
Итак в качестве примера эти токены встроены в некую такую распределенную репрезентацию как её называют таким
Вывод (инференс)
26:05
образом каждый возможный токен имеет своего рода Вектор который представляет его внутри нейронной сети Сначала мы
26:12
встраиваем токены а затем эти значения как бы проходят через эту диаграмму и
26:18
все эти математические выражения По отдельности очень простые Итак у нас есть нормализация слоев матричные
26:24
умножения Соф и так далее Итак вот как выглядит бло этого Трансформера а затем информация как бы
26:31
проходит в блок многослойного перцептрон
26:39
и вы можете почти рассматривать их как некие скорости срабатывания этих
26:44
синтетических нейронов но я бы предостерег вас не думать об этом слишком похожи на нейроны Потому что эти
26:51
нейроны крайне просты по сравнению с нейронами которые вы найте в вашем мозге
26:56
ши биологи Нейро сложные динамические процессы которые имеют память и так далее в этом выражении нет памяти это
27:03
фиксированное математическое выражение от входа к выходу без памяти это просто без состояния Итак эти нейроны очень просты
27:11
по сравнению с биологическими нейронами Но вы всё равно можете в некотором роде воспринимать это как синтетическую часть
27:17
мозговой ткани Если хотите думать об этом так информация проходит через все эти
27:24
нейроны пока мы не получим предсказания Бира слишком углубляться в точные
27:29
математические детали всех этих преобразований Честно говоря я не думаю что это так важно обсуждать важно понять
27:36
что это математическая функция она параметризованный набором параметров
27:43
скажем 85.000 из них и это способ преобразование входов в выходы и когда
27:49
мы настраиваем параметры мы получаем разные виды предсказаний и затем нам нужно найти
27:55
хорошую настройку этих параметров Чтобы предсказани соответствовали паттернам наблюдаемым в обучающем
28:02
наборе Итак Это Трансформер Итак я показал вам внутренности нейронной сети
28:08
и мы немного поговорили о процессе её обучения Я хочу обсудить ещё одну важную стадию работы с этими сетями и эта
28:16
стадия называемая выводом Итак на этапе вывода мы генерируем новые данные из
28:22
модели Итак мы хотим в основном увидеть какие паттерны он усвоил в параметрах
28:27
сво сети Итак генерировать данные из модели относительно просто мы начинаем с
28:35
некоторых токенов которые в основном являются вашим префиксом то есть с чем вы хотите начать Итак Скажем мы хотим
28:40
начать с токена 91 Ну мы подаём это в сеть и помните что эта сеть даёт нам
28:48
вероятности верно она даёт нам этот Вектор вероятностей Итак что мы можем
28:53
сделать сейчас так это в основном подбросить монету с уклоном чтобы мы можем сделать
29:00
выборку в основном токен основываясь на этом распределении вероятностей токены
29:06
которым модель присваивает высокую вероятность с большей вероятностью будут выбраны Когда вы подбрасывается эту
29:11
монету с уклоном можно подумать об этом так Итак мы выбираем из распределения
29:17
чтобы получить один уникальный токен например токен 860 идёт
29:22
следующим Итак 860 в этом случае когда мы генерируем из модели может быть следующим теперь это относительно
29:29
вероятный токен это может быть не единственный возможный токен в этом случае могло быть много других токенов которые могли бы быть выбраны но мы
29:35
можем видеть что 860 — это относительно вероятный токен Как пример и действительно в нашем примере обучения
29:41
здесь 860 следует за 91 Итак давайте теперь скажем что
29:46
мы продолжаем процесс Итак после де пер идёт 860 мы добавляем его и снова Мы
29:53
спрашиваем какой третий токен давайте выберем и скажем что это 287 то
29:58
здесь давайте сделаем это снова Мы возвращаемся Теперь у нас есть последовательность из трёх токенов и Мы
30:05
спрашиваем какой вероятный четвёртый токен и мы выбираем из этого и получаем этот А теперь давайте скажем что мы
30:12
сделаем это ещё раз мы берём эти четыре выбираем и получаем этот А этот 13659 на самом деле
30:20
не 362 как у нас было раньше Итак этот токен это токен
30:25
статья вместо этого Итак рассматриваем одну статью Итак в этом случае мы не
30:32
воспроизвели точно ту последовательность которую мы видели здесь в обучающих данных Так что имейте в виду что эти
30:38
системы стохастические Мы выбираем и подбрасывая монеты а иногда нам везёт и
30:45
мы воспроизводить небольшой фрагмент текста из обучающего набора но иногда мы получаем токен который не является
30:52
дословно частью ни одного из документов в обучающих данных Таким образом мы получим что-то
30:58
вроде ремиксов данных которые мы видели в обучении потому что на каждом этапе мы можем подбросить и получить немного
31:04
другой токен и затем как только этот токен попадает внутрь Если вы выберете следующий и так далее Вы очень быстро
GPT-2: обучение и вывод
31:10
начинаете генерировать потоки токенов которые сильно отличаются от потоков токенов встречающихся в обучающих
31:16
документах поэтому статистически они будут иметь схожие свойства но они не
31:21
идентичны вашим обучающим данным они как бы вдохновлены обучающими данными Итак в
31:26
этом случае мы получили немного другую последовательность и почему мы должны получить статью Вы можете представить
31:32
что токен статья является относительно вероятным в контексте слов бар просмотр Один и так далее и вы можете представить
31:40
что слово статья следовало за этим контекстным окном где-то в обучающих документах в какой-то степени и нам
31:46
просто повезло выбрать его здесь на этом этапе В общем вывод — это просто предсказание из этих распределений по
31:52
одному за раз мы продолжаем подавать токены и получать следующий и
31:58
Мы всегда подбрасывая Эти монеты и в зависимости от того насколько Нам повезло или не
32:04
повезло Мы можем получить очень разные виды паттернов в зависимости от того как мы выбираем из этих вероятностных
32:10
распределений Итак это и есть вывод Итак в самых распространённых сценариях по сути загрузка интернета и
32:18
токенизация — это этап предварительной обработки вы делаете Это один раз а затем как только у вас есть
32:24
последовательность токенов мы можем начать обучать сети и в практических случаях вы бы пытались обучить множество
32:30
различных сетей с разными настройками разными конфигурациями и разными размерами Итак вы будете заниматься
32:37
большим количеством обучения нейронных сетей а затем как только у вас есть нейронная сеть вы её обучается и у вас
32:44
есть определённый набор параметров которые вас устраивают тогда вы можете взять модель
32:49
и сделать вывод и вы действительно можете генерировать данные из модели и когда вы на Chat gpt и общаетесь с
32:55
моделью эта модель обучена и была обучена от Open ai много месяцев назад
33:01
вероятно и у них есть определённый набор весов которые хорошо работают И когда вы
33:06
общаетесь с моделью всё это просто вывод больше нет обучения эти параметры остаются фиксированными и вы просто
33:13
общаетесь с моделью своего рода вы даёте ей некоторые токены и она как бы
33:18
завершает последовательности токенов и именно это вы видите когда на самом деле используете модель в Chat gpt Так что
33:25
эта модель просто выполняет вывод Теперь давайте посмотрим на пример обучения и вывода Это довольно конкретно
33:32
и даёт вам представление о том как это на самом деле выглядит когда эти модели обучены теперь пример с которым я хотел
33:38
бы поработать и который мне особенно нравится — это gpt2 от openai Итак gpt означает генеративного
33:45
обученный трансформер и это вторая итерация серии gpt от Open ai Когда вы общаетесь с Chat gpt сегодня
33:53
модель которая лежит в основе всей магии этого взаимодействия — это gpt 4 то есть четвёртая итерация этой серии теперь
34:01
gpt2 был опубликован в 2019 году компанией openai в этой статье которая у меня здесь и причина по которой Мне
34:09
нравится gpt2 в том что это первый случай когда вместе собрался узнаваемо современный стек Итак
34:16
А все элементы gpt2 сегодня узнаваемы по современным стандартам просто всё стало
34:21
больше теперь я не смогу углубиться в полные детали этой статьи Конечно потому что это техническая публикация но
34:28
некоторые детали которые я хотел бы выделить следующие gpt2 была трансформер
34:34
нейронной сетью также как нейронные сети с которыми вы работаете
34:39
сегодня у неё было 1 млрд параметров верно Итак это те параметры которые мы
34:44
рассмотрели здесь у неё было бы 1 млрд таких параметров сегодня современные
34:49
Трансформеры имеют гораздо ближе к триллиону или нескольким сотням миллиардов
34:54
вероятно максимальная длина контекста здесь составляла 1024 токена таким
35:00
образом когда мы выбираем куски окон токенов из набора данных Мы никогда не
35:05
берём больше 104 токенов Итак Когда вы пытаетесь предсказать следующий токен в последовательности у вас никогда не
35:11
будет больше 1024 токенов в вашем контексте чтобы сделать это предсказание
35:17
сейчас это тоже крошечном стандартам сегодня длинный контекста будут го ближе
35:24
к несколько сотен ими Таким образом у вас есть гораздо больше контекста
35:30
гораздо больше токенов в истории и вы можете гораздо лучше предсказать следующий токен в последовательности таким
35:35
образом и наконец gpt2 был обучен на Примерно 100 млрд токенов И это тоже
35:40
довольно мало по современным стандартам как я уже упоминал набор данных Fine Web который мы рассматривали здесь содержит
35:47
15 триллион токенов Так что 100 млрд — это довольно мало теперь
35:54
а на самом деле я пытался воспроизвести gpt2 ради удовольствия в рамках этого проекта
36:00
под названием LM TC Итак вы можете увидеть мой отчёт об этом в этом посте на github в
36:05
репозитории lmc Итак в частности стоимость обучения gpt2 в 2019 году оценивалась примерно в
36:13
40.000 долларов Но сегодня вы можете сделать значительно лучше И в частности
36:19
здесь это заняло около одного дня и примерно 600 долларов Но это даже не было слишком
36:26
сложным думаю что вы действительно могли бы снизить это до Примерно 100 долларов сегодня почему же стоимость так сильно
36:34
снизилась ну во-первых эти наборы данных стали гораздо лучше и способ которым мы
36:39
фильтруем извлекаем и подготавливаем их стал гораздо более
36:45
изощрённые качественным Так что это одна вещь но на самом деле самое большое
36:51
Отличие в том что наши компьютеры стали намного быстрее с точки зрения аппаратного обеспечения и мы сейчас на
36:56
это посмотрим также программное обеспечение для запуска этих моделей которые действительно позволяет
37:02
максимально использовать скорость аппаратного обеспечения это программное обеспечение тоже стало гораздо лучше так как все
37:09
сосредоточились на этих моделях и пытались запускать их очень-очень быстро теперь
37:15
А я не смогу вдаваться во все подробности этой реконструкции gpt2 и это длинный технический пост Но я всё же
37:22
хотел бы дать вам интуитивное представление о том как на самом деле выглядит процесс обучения одной из этих моделей как исследователя типа На что ты
37:29
смотришь И как это выглядит каково это так что Позвольте мне немного объяснить Это хорошо Вот как это выглядит
37:35
Позвольте мне сдвинуть Это итак что я делаю здесь так это Обучаю модель gpt2 прямо
37:42
сейчас и что здесь происходит так это то что каждая строка здесь как это это одно
37:49
обновление модели Так что помните как вот мы и
37:54
пришли по сути мы улучшаем предсказание для каждого из этих токенов И мы обновляем эти веса или параметры
38:00
нейронной сети Итак здесь каждая строка — это одно обновление нейронной сети где мы немного
38:06
изменяем её параметры чтобы она лучше предсказывала следующий токен в последовательности в частности каждая
38:13
строка здесь улучшает предсказание для 1 милна токенов в обучающем
38:19
наборе Итак мы в основном взяли 1 млн токенов из этого набора
38:25
данных и мы пытались улучшить предсказание этого токена как следующего в последовательности для всех 1 милна из
38:32
них одновременно и на каждом из этих шагов
38:37
мы обновляем сеть для этого теперь число за которым нужно внимательно следить — это число
38:43
называемая потерей и потеря — это одно единственное число это говорит вам о том
38:48
насколько хорошо ваша нейронная сеть работает прямо сейчас и оно создано Так что низкая потеря к Это хорошо Итак вы
38:56
увидите что потеря Уша мере того как мы вносим больше обновлений в нейронную сеть что соответствует улучшению
39:01
предсказаний следующего токена в последовательности Итак потеря — это то
39:06
число за которым вы следите как исследователь нейронных сетей и вы как бы ждёте вертите пальцами пьёте кофе и
39:12
следите за тем чтобы это выглядело хорошо таким образом с каждым обновлением ваша потеря улучшается и
39:19
сеть Становится лучше в предсказаниях теперь здесь вы видите что
39:24
мы обрабатываем 1 Милн токенов за обновление каждое обновление примерно 7 секунд и здесь мы собираемся обработать
39:31
в общей сложности 32.000 шагов оптимизации Итак 32.000 шагов с 1 млн
39:39
токенов каждый — Это примерно 33 млрд токенов которые мы собираемся обработать и мы сейчас находимся только на 420 шаг
39:47
из 32.000 Итак мы всё ещё сделали чуть больше одного про потому что я запускаю
39:53
Это всего лишь 10 или 15 минут или что-то в этом роде теперь каждые 20 шагов Я настроил эту
40:01
оптимизацию для выполнения вывода Итак то что вы видите здесь это то что модель предсказывает следующий токен в
40:08
последовательности Итак вы как бы начали случайно а затем продолжаете подставлять токены Итак Мы выполняем Этот шаг вывода
40:15
и это модель которая предсказывает следующий токен в последовательности и каждый раз когда вы видите что что-то появляется это новый
40:24
токен Давайте просто посмотрим на это и Вы можете видеть что это ещ не очень
40:29
связано и имейте в виду что это всего лишь 1% от всего процесса обучения Итак
40:34
модель пока не очень хорошо предсказывает следующий токен в последовательности Так что то что получается на самом деле немного
40:40
бессмысленно верно но у неё всё ещё есть небольшая локальная связанность так как
40:46
она моя это часть информации она говорила о моём отце отличные Компаньоны гордону
40:53
Показали мне сидя над этим и так далее я знаю что это не выглядит очень хорошо но Давайте прокрути
40:59
вверх и посмотрим как это выглядело когда я начал оптимизацию Итак до самого конца здесь
41:06
на шаге один Итак после 20 шагов оптимизации Вы
41:13
видите что то что мы получаем здесь выглядит совершенно случайно и конечно это потому что модель получила всего 20
41:19
обновлений своих параметров Итак она выдаёт Вам Случайный текст потому что это случайная сеть Итак вы можете видеть
41:25
что по крайней мере с этим модель начинает работать гораздо лучше и действительно если бы мы
41:31
дождались всех 32000 шагов модель улучшилась бы до такой степени что она действительно начала бы генерировать
41:37
довольно связаный английский и токены передаются правильно и они как бы
41:43
мирится английский гораздо лучше так что это должно работать ещ
41:51
Примерно день или два Итак На этом этапе мы просто следим за тем чтобы потери уменьшались ВС выглядит хоро
41:58
и нам просто нужно подождать А теперь Позвольте мне перейти к истории вычислений которые требуются
42:07
потому что конечно я не запускаю эту оптимизацию на своём ноутбуке это было бы слишком дорого потому что нам нужно
42:13
запустить эту нейронную сеть и нам нужно это улучшить и нам нужны все эти данные и так далее поэтому вы не можете
42:19
запустить это слишком хорошо на своём компьютере потому что сеть просто слишком большая Итак ВС это работает на
42:25
компютере который находится облаке и я хочу в основном рассмотреть вычислительную сторону истории обучения
42:31
этих моделей и как это выглядит Давайте посмотрим Итак компьютер на котором я
42:37
запускаю эту оптимизацию это узел 8X ша 100 Итак в
42:42
одном узле или одном компьютере 8 h100 теперь я арендую этот компьютер и он
42:48
где-то в облаке На самом деле я не уверен где он физически находится место где мне нравится арендовать называется
Вывод базовой модели Llama 3.1
42:54
Лам но есть и много других компаний которые предоставляют эту услугу Так что когда вы прокручивается вниз вы можете
43:02
увидеть что у них есть некоторые тарифы по запросу для типа компьютеров которые имеют эти
43:08
А1 которые являются графическими процессорами и я собираюсь показать вам как они выглядят Через секунду но по
43:14
запросу восемь раз NVIDIA H1 ГПУ эта машина стоит 3 доллара за
43:21
графический процессор в час например Так что вы можете арендовать их и тогда вы получаете машину в Облаке и вы можете
43:27
зайти и обучить эти модели и эти графические продо
43:33
процессоры выглядят вот так Итак это один графический процессор h100 Вот как это выглядит и вы
43:40
вставляете это в свой компьютер и графические процессоры идеально подходят для обучения нейронных сетей потому что
43:46
они требуют много вычислительных ресурсов но при этом обеспечивают высокий уровень параллелизма в
43:51
вычислениях Вы можете иметь много независимых рабочих которые работают одновременно над решением Умно
43:58
матриц это то что происходит за кулисами при обучении этих нейронных сетей Итак
44:04
это всего лишь один из этих H1 Но на самом деле вы бы ставили их вы бы ставили несколько их вместе так что вы
44:10
можете установить восемь из них в Один узел а затем Вы можете объединить несколько узлов в целый дата-центр или
44:15
целую систему Итак смотрите
44:24
Датан не могу написать когда мы смотрим Датан мы начинаем видеть вещи которые выглядят вот так верно Итак у нас один
44:31
GPU подключается к восьми GPU подключаются к одной системе которая соединяется с многими системами И вот
44:36
так выглядят большие дата-центры их цели будут намного намного дороже и что происходит так это то что
44:43
все крупные технологические компании действительно жаждут этих GPU чтобы обучать все эти языковые модели потому
44:49
что они настолько мощные и именно это по сути и стало причиной того что цена акций nidia
44:55
сегодня достигла 3 долларов Как пример и почему nidia так резко
45:00
выросла Итак это Золотая лихорадка Золотая лихорадка заключается в том чтобы заполучить GP получить Их
45:06
достаточно таким образом они могут все сотрудничать для выполнения этой оптимизации И что же они все делают все
45:13
они сотрудничают чтобы предсказать следующий токен в наборе данных таком как набор данных
45:20
Web это вычислительный процесс который по сути крайне дорогой чем больше у вас
45:25
тем больше токенов можете пытаться предсказать и улучшить и вы будете обрабатывать этот набор данных быстрее
45:32
сможете быстрее итеративности
45:57
потребляют огромное количество энергии и все они просто пытаются предсказать следующий токен в последовательности и
46:03
улучшить сеть делая это И вероятно получить гораздо более связанный текст
46:09
чем то что мы видим здесь и сделать Это намного быстрее хорошо к сожалению у меня нет пары десятков или сотен
46:14
миллионов долларов чтобы потратить на обучение действительно большой модели как это Но к счастью мы можем обратиться
46:20
к некоторым крупным технологическим компаниям которые регулярно обучают эти модели и выпускают Некоторые из них как
46:28
только обучение завершено Итак они потратили огромное количество вычислительных ресурсов на обучение этой
46:33
сети и в конце оптимизации они выпускают сеть Так что это очень полезно потому что они потратили много вычислительных
46:39
ресурсов на это существует много компаний которые регулярно обучают эти модели Но на самом деле не так много из
46:45
них их выпускают это то что называется базовыми моделями Итак Модель которая получается в конце называется базовой
46:52
моделью Что такое базовая модель это симулятор токенов верно это симулятор
46:57
текстовых токенов из интернета Итак это ещё не полезно само по себе потому что то что мы хотим
47:03
называется ассистентом Мы хотим задавать вопросы и получать на них ответы эти модели этого не сделают они просто
47:09
создают своего рода ремиксы интернета они создают интернет-страницы в своих мечтах поэтому базовые модели не
47:17
так часто выпускаются потому что они по сути всего лишь шаг это один из нескольких других шагов которые нам е
47:23
нужно сделать чтобы получить ассистента тем не менее несколько рев сделаны
47:28
Итак например модель gpt2 выпустила модель на 1,6 млрд Извините 1 О
47:34
миллиарда в 2019 году и эта модель gpt2 является базовой
47:40
моделью Итак что такое Лиз модели Как выглядит процесс выпуска этих моделей
47:46
Итак это репозиторий gpt2 на github Ну вам нужно две вещи в основном чтобы
47:51
выпустить модель во-первых Нам нужен код на Python как правило
47:57
описывает последовательность операций в деталях которые они выполняют в своей
48:03
модели Итак если вы вспомните назад этот
48:10
трансформер последовательность шагов которые здесь выполняются это то что описывается этим
48:16
кодом Итак этот код как бы реализует то что называется прямым проходом этой нейронной сети Итак нам нужны конкретные
48:24
детали о том как именно они подключили эту нейронную Итак это просто компьютерный код и
48:29
обычно это всего лишь несколько сотен строк кода это не так уж и безумно и всё
48:34
Это довольно понятно и обычно довольно стандартно нестандартные параметры Вот
48:40
где На самом деле заключается ценность Каковы параметры этой нейронной сети Потому что есть один 1 млрд из них и нам
48:47
нужна правильная настройка Или действительно хорошая настройка и вот почему помимо этого исходного кода они
48:54
выпускают параметры которые в данном случае составляют примерно 1,5 млрд параметров А это просто числа Итак это
49:01
один-единственный список из 1,5 миллиарда чисел точная и хорошая настройка всех параметров Чтобы токены
49:08
получались корректно Итак вам нужны эти две вещи
49:14
чтобы получить выпуск базовой модели теперь gpt2 был выпущен Но это старая
49:22
модель Итак на самом деле модель к которой мы сейчас перейдём называется 3 и именно её Я хотел бы показать вам
49:28
дальше Итак Lama 3 итак gpt2 снова имел 1,6 млрд параметров обученных на 100
49:34
млрд токенов Lama 3 это гораздо большая и более современная модель она была
49:40
выпущена и обучена компания META и это модель с 405 млрд параметров обученная
49:46
на 15 триллион токенов в очень похожем ключе только гораздо гораздо больше и Мета также выпустила Lama 3
49:56
и это было частью этой статьи Итак в этой статье которая содержит много деталей самая большая
50:03
базовая модель которую они выпустили это Лама 31 с
50:08
45 модель с миллиардами параметров Итак это базовая модель а затем помимо
50:14
базовой модели вы видите здесь намёк на будущие разделы видео они также выпустили модель instruct А модель
50:21
означает что это ассистент Вы можете Задавать ей вопросы и она будет давать вам Ответы нам обсудить эту часть позже
50:28
пока Давайте просто посмотрим на эту базовую модель этот симулятор токенов Давайте поиграем с этим и попробуем
50:35
понять что это такое и как это работает и что мы получаем в конце этой оптимизации если вы позволите этому
50:41
работать до конца для очень большой нейронной сети нужно много данных Итак моё любимое
50:47
место для взаимодействия с базовыми моделями — это компания под названием hyperbolic которая по сути предоставляет
50:53
такие услуги базовая модель 45b 31 Так что когда вы Заходите на сайт
50:59
Я думаю вам возможно нужно будет зарегистрироваться и так далее Убедитесь что в моделях вы используете Лама 3.1
51:05
405 млрд базовых это должна быть базовая модель а затем здесь скажем максимальное
51:11
количество токенов это сколько токенов мы собираемся генерировать Давайте просто Уменьши это чтобы было немного
51:16
меньше просто чтобы не тратить вычислительные ресурсы нам просто нужно следующие 128 токенов а остальное
51:22
оставим как есть я не собираюсь вдаваться в полные детали сейчас фактически то что здесь
51:28
произойдет идентично тому что происходит здесь во время вывода для нас Итак это просто
51:34
продолжит последовательность токенов любого префикса который вы ему дадите Итак я хочу сначала показать вам что эта
51:41
модель здесь ещё не является ассистентом Так что вы не можете например Спросить её сколько будет 2 П 2 Она не скажет Вам
51:48
о это 4 чем ещё я могу вам помочь этого сделает будет 2
51:56
токены просто будут действовать как префикс а затем то что модель будет делать сейчас — это просто получить
52:02
вероятность для следующего токена и это просто разряженные автозаполнение это очень-очень дорогое автозаполнение того
52:08
что будет дальше в зависимости от статистики того что она увидела в своих учебных документах которые в основном
52:14
представляют собой веб-страницы Итак давайте просто нажмём Enter чтобы увидеть какие токены она
52:20
предложит в качестве продолжения
52:27
хорошо Так что здесь она как бы действительно ответила на вопрос и начала углубляться в какую-то философскую область Давайте попробуем
52:33
ещё раз Итак давайте я скопирую и вставлю и попробуем снова с нуля Сколько будет 2 +
52:42
2 хорошо она снова уходит в сторону Так что Обратите внимание ещё на
52:47
одну вещь которую я хочу подчеркнуть это то что система Я думаю каждый раз когда вы вводите Это она просто начинает с
52:54
нуля Так что это так система здесь Стаха таким образом для одного и того же
53:00
префикса токенов мы всегда получаем разный ответ и причина этого в том что мы получаем это распределение
53:06
вероятностей и выбираем из него и всегда получаем разные выборки и мы как бы всегда уходим в другую область после
53:12
этого Итак в этом случае я не знаю это такое Давайте
53:22
снова Так что она просто продолжает Так что она просто делает то что есть в интернете верно и она просто как бы
53:56
много о мире и она сохранила все эти знания в параметрах сети Так что помните что Наш текст
54:04
выглядел вот так верно веб-странице интернета и теперь всё это как бы сжато
54:09
в весах сети Так что вы можете думать о эти 35 млрд параметров как своего рода
54:17
сжатия интернета Вы можете думать о 45 млрд параметров как о чём-то вроде ЗП
54:23
файла но это не бес Потерянное сжатие это сжатие с потерями мы как бы остаёмся
54:28
с неким гештальтов часть этих знаний правильно
54:36
задав вопросы базовой модели Итак например вот подсказка которая может помочь извлечь Некоторые из тех знаний
54:42
которые скрыты в параметрах Вот мой топ-10 достопримечательностей которые стоит увидеть в
54:51
Париже и я делаю это таким образом потому что пытаюсь настроить модель на то чтобы она
54:57
спи Давайте посмотрим сработает ли это когда я нажму Enter хорошо Итак вы
55:02
видите что она начала список и теперь как бы даёт мне Некоторые из этих достопримечательностей А теперь Обратите
55:08
внимание что она пытается дать много информации Теперь вы Возможно не сможете полностью доверять некоторой информации
55:14
здесь помните что это всего лишь Воспоминание о некоторых интернет документах Итак вещи которые встречаются
55:22
очень часто в данных интернета вероятно будут запом более точно теми которые
55:27
происходят очень редко поэтому вы не можете полностью доверять некоторым из тех вещей некоторой информации которая
55:33
здесь есть потому что это всего лишь расплывчатое Воспоминание о интернет документах потому что информация не
55:40
хранится явно ни в одном из параметров Это всего лишь Воспоминание сказав это мы получили
55:45
что-то что вероятно примерно верно и у меня на самом деле нет экспертизы чтобы проверить что это примерно верно но вы
55:52
видите что изв много ний из моде знания неточные и не конкретные эти
55:58
знания расплывчатые вероятностные и статичные и те вещи которые происходят
56:04
часто это те вещи которые с большей вероятностью будут запомненные
56:26
а когда я нажму ent какой результат мы получим Итак давайте просто нажму
56:34
Enter существует три живых вида и так далее и так далее То что
56:40
модель здесь производит Это точная регургитация этой записи из Википедии она воспроизводит эту запись из
56:46
Википедии исключительно по памяти и эта память хранится в её параметрах Итак
56:51
Возможно что в какой-то момент из этих 512 токенов моде отклонится из Википедии
56:57
но вы можете видеть что она запомнила здесь огромные куски текста Давайте посмотрим например встречается ли это
57:03
предложение к этому моменту хорошо Так что мы всё ещё на правильном пути
57:09
Давайте я проверю здесь хорошо мы всё ещё на правильном
57:14
пути в конечном итоге она отклонится хорошо Так что эта вещь в
57:20
значительной степени просто воспроизводится в конечном итоге она отклонится потому что не сможет запомнить точно теперь причина по
57:27
которой это происходит заключается в том что эти модели могут быть чрезвычайно хороши в запоминании и обычно это не то
57:34
что вы хотите в финальной модели и это называется регургитацией и обычно нежелательно напрямую цитировать то на
57:41
чём вы обучались теперь причина по которой это происходит заключается в том что для
57:47
многих документов например для Википедии когда эти документы считаются источником очень высокого качества как например
57:54
Википедия очень часто бывает так что когда вы
58:03
обучает прошла несколько эпох по этим данным Что означает что она видела эту веб-страницу возможно раз 10 или около
58:10
того и это немного похоже на вас когда вы читаете какой-то текст много-много раз Скажем Вы прочитали что-то 100 раз
58:17
тогда вы сможете это воспроизвести и для этой модели это очень похоже если она видит что-то слишком часто она сможет
58:23
позже воспроизвести это по памяти Кроме того эти модели могут быть гораздо более
58:28
эффективными например за одну презентацию чем человек Так что вероятно она видела эту запись в Википедии только
58:34
10 раз Но в основном она запомнила эту статью точно в своих параметрах хорошо следующее что я хочу вам показать это то
58:41
что модель определённо не видела во время своего обучения Итак Например если мы перейдём к
58:47
статье и затем когда мы перейдём к данным предварительного обучения мы увидим здесь
58:53
что набор данных имеет чение познания до конца 2023 года таким образом она не
58:59
видела документы после этой даты и конечно она не видела ничего а выборах 2024 года и о том как они прошли Теперь
59:08
если мы подготовим модель с токенами из будущего она продолжите последовательность токенов и Она просто
59:14
сделает свою лучшую догадку основываясь на знаниях которые у неё есть в её параметрах Итак давайте посмотрим как
59:20
это может выглядеть Итак Республиканская партия поддерживает трампа
От предварительного обучения к пост-обучению
59:26
Итак президент Соединённых Штатов с 2017 года и Давайте посмотрим что будет дальше Итак например модель должна будет
59:33
угадать кто будет напарником по выборам и против кого он будет и так далее Итак давайте нажмём
59:39
Enter Итак здесь есть вещи что Майк пенс был бы напарником по выборам вместо джеда пенс а билет был против Хиллари
59:46
Клинтон и Тима Кейна Итак это своего рода интересная Параллельная Вселенная
59:51
потенциально того что могло бы произойти Согласно сигналу возьмём другой пример так что тот же
59:57
самый запрос и Давайте пересип Итак здесь напарником по выборам
1:00:03
был Рон де сантис и они выступали против Джо байдена и камалы Харрис Итак это
1:00:09
снова другая Параллельная Вселенная таким образом модель будет делать обоснованные предположения и продолжит
1:00:15
последовательность токенов основываясь на этих знаниях и всё что мы здесь видим
1:00:20
называется галлюцинаций модель просто делает свою лучшую догадку в вероятностном порядке
1:00:26
следующее что я хотел бы вам показать это то что хотя это базовая модель и ещё не модель помощника её всё равно можно
1:00:34
использовать в практических приложениях Если вы умны В разработке своих запросов то вот что-то что мы бы назвали запросом
1:00:40
с несколькими примерами Итак что здесь происходит так это то что у меня есть 10 слов или 10
1:00:47
пар и каждая пара состоит из английского слова двоеточие а затем перевод на
1:00:53
корейский и у нас их 10 и что модель делает здесь так это в
1:01:00
конце У нас есть учитель двоеточие и затем здесь мы собираемся завершить
1:01:05
скажем всего пять токенов и эти модели обладают тем что мы называем способностями к обучению в
Данные пост-обучения (разговоры)
1:01:12
контексте И на что это ссылается так это на то что читая этот контекст Он учится как бы на
1:01:18
месте что в моих данных происходит некий алгоритмический паттерн и он знает как
1:01:23
Продолжать этот паттерн это называется в контексте Таким образом он берёт на себя
1:01:29
роль переводчика и когда мы достигаем завершение Мы видим что перевод учителя
1:01:36
закат Что верно А И вот как Вы можете создавать приложение будучи умными в своих
1:01:42
запросах хотя у нас пока только базовая модель и это зависит от того что мы называем
1:01:48
м способностью к обучению в контексте и это делается путём создания так
1:01:53
называемого запроса с несколькими примерами хорошо и наконец я хочу показать вам что есть умный способ на
1:01:59
самом деле создать целую языковую модель помощника просто с помощью запроса и
1:02:04
Фишка в том что мы собираемся структурировать запрос так чтобы он выглядел как веб-страница это разговор между полезным
1:02:10
ai помощником и человеком и затем модель продолжит этот разговор на самом деле чтобы написать
1:02:17
запрос Я обратился к самому чат gpt что довольно Мета но я сказал ему что хочу создать помощника на основе языковой
1:02:24
модели но у меня есть только Бао мо Так что не могли бы вы пожалуйста написать
1:02:29
мой запрос и вот что Он предложил что на самом деле довольно хорошо Итак Вот
1:02:35
разговор между A помощником и человеком A помощник осведомлён полезен способен
1:02:41
отвечать на самые разные вопросы и так далее а затем здесь недостаточно просто дать ему какое-то описание это работает
1:02:48
гораздо лучше если вы создадите этот запрос с несколькими примерами Итак вот несколько реплик человека помощника
1:02:55
человека и у нас есть несколько реплик разговора а затем в конце Мы собираемся вставить
1:03:01
фактический Запрос который нам нравится Итак Позвольте мне скопировать это и вставить в запрос базовой модели А
1:03:09
теперь Позвольте мне сделать колонку человека и здесь мы вставляем наш фактический запрос Почему небо
1:03:17
голубое и Давайте запустим ассистент небо кажется голубым
1:03:24
изза явления называе далее и так далее Итак вы видите что базовая модель просто продолжает
1:03:30
последовательность Но поскольку последовательность выглядит как этот разговор она принимает на себя эту роль
1:03:36
Но это немного тонко потому что здесь просто знаете всё заканчивается ассистент а затем просто знаете
1:03:42
выдумывает Следующий вопрос от человека и так далее так что он просто будет продолжать и продолжать но вы можете
1:03:48
видеть что мы как бы выполнили задачу А если вы просто возм это почему небо
1:03:53
голубое просто обновим это и поместим сюда то конечно мы не ожидаем что это сработает
1:03:59
с базовой моделью верно мы просто собираемся Кто знает что мы получим хорошо Мы просто получим больше
1:04:05
вопросов хорошо Это один из способов создать ассистента даже если у вас есть
1:04:11
только базовая модель Итак это краткое резюме тех вещей о которых мы говорили за последние несколько
1:04:18
минут теперь Позвольте мне отдалиться и это как раз то о ЧМ мы
1:04:25
говорили до сих пор Мы хотим обучить ЛМ ассистентов таких как Chat gpt мы
1:04:31
обсудили первый этап этого который является этапом предварительного обучения и мы действительно это увидели
1:04:36
в конечном итоге мы берём интернет документы разбиваем их на токены эти атомы маленьких текстовых фрагментов а
1:04:42
затем мы предсказываем последовательности токенов с помощью нейронных сетей результатом этого всего
1:04:48
этапа является эта базовая модель это установка параметров этой сети и это
1:04:54
базовая модель по сути является симулятором интернет документов на уровне токенов таким образом она может
1:04:59
просто генерировать последовательности токенов которые имеют такие же статистические характеристики как
1:05:08
интернет-дома Но на самом деле нам нужно делать лучше Нам нужен ассистент мы хотим иметь возможность задавать вопросы
1:05:14
и мы хотим чтобы модель давала нам ответы Итак нам теперь нужно перейти ко второму этапу который называется этапом
1:05:20
посто обучения Итак мы берём нашу базовую модель наш симулятор интернет документов
1:05:25
и передаём его на этап посто обучения Теперь мы собираемся обсудить несколько способов как провести так называемое
1:05:45
постобработка предварительного обучения но теперь мы переходим к Немного более
1:05:50
дешёвому но всё ещё крайне важному этапу который называется посто обучение Где мы мы Превращаем эту ЛМ модель в
1:05:58
ассистента Итак давайте посмотрим как мы можем заставить нашу модель не просто выбирать интернет документы а давать
1:06:04
ответы на вопросы Итак другими словами что мы хотим сделать так это начать думать о
1:06:10
разговорах и это могут быть разговоры которые состоят из нескольких реплик Так что может быть несколько обменов и в
1:06:17
самом простом случае это разговор между человеком и ассистентом Итак например мы можем
1:06:22
представить что разговор может выглядеть примерно так человек говорит Сколько будет 2 + 2 Ассистент должен ответить
1:06:28
что-то вроде 2 + 2 — это 4 когда человек продолжает и говорит А что если вместо плюса будет звезда Ассистент может
1:06:35
ответить что-то вроде этого и здесь Аналогично это ещё один пример показывающий что у ассистента
1:06:41
также может быть какая-то личность что он как бы приятный и вот в третьем примере я
1:06:47
показываю что когда человек просит о чём-то мы не желаете помогать мы можем выдать
1:06:52
то что называется отказом мы можем сказать что не можем с этим помочь Итак
1:06:57
другими словами что мы хотим сделать сейчас так это подумать о том как Ассистент должен взаимодействовать с
1:07:04
человеком и мы хотим запрограммировать ассистента и его поведение в этих разговорах теперь поскольку это
1:07:11
нейронные сети мы не будем программировать их явно в коде мы не сможем запрограммировать ассистента
1:07:16
таким образом поскольку это нейронные сети все делается через обучение нейронных сетей на наборах данных и
1:07:23
поэтому мы будем не явно программировать ассистента создавая наборы данных разговоров Итак это три независимых
1:07:29
примера разговоров в наборе данных фактический набор данных и я собираюсь показать вам примеры будет намного
1:07:35
больше в нём может быть сотни тысяч разговоров которые состоят из нескольких реплик очень длинные и так далее и
1:07:43
охватывал бы разнообразные темы но здесь я показываю только три примера Но в
1:07:48
основном это работает так ассистент программируется на примерах А откуда берутся эти данные
1:07:56
например 2 x 2 = 4 так же как 2 + 2 и так далее Откуда это берётся это
1:08:03
приходит от людей методистов Таким образом мы в основном предоставим людям методистом некоторый контекст разговора
1:08:10
И попросим их дать идеальный ответ Ассистента в этой ситуации и человек напишет идеальный ответ для ассистента в
1:08:17
любой ситуации а затем мы заставим модель обучаться на этом и имитировать такие
1:08:23
ответы Итак как это работает мы возьмём нашу базовую модель которую мы создали на этапе предварительного обучения и эта
1:08:30
базовая модель была обучена на интернет документах Теперь мы собираемся взять этот набор данных интернет документов и
1:08:36
мы его выбросим и заменим новым набором данных и это будет набор данных разговоров и мы продолжим обучать модель
1:08:43
на этих разговорах на этом новом наборе данных разговоров и что происходит так это то что модель очень быстро
1:08:50
адаптируется и она как бы учится статистики того как этот ассистент отвечает на запросы людей
1:08:56
а затем позже во время вывода мы сможем в основном Подготовьте ассистента и
1:09:02
получите ответ и он будет имитировать то что делали бы люди методисты в этой ситуации если это имеет
1:09:08
смысл Итак мы увидим примеры этого и Это станет Немного более конкретным я также
1:09:14
хотел упомянуть что на этом этапе
1:09:26
этап посто обучения как правило будет намного Короче например 3 часа и это
1:09:32
потому что набор данных разговоров которые мы собираемся создать здесь вручную намного меньше чем набор данных
1:09:38
текстов в интернете Итак это обучение будет очень коротким Но в основном мы
1:09:43
просто возьмём нашу базовую модель мы продолжим обучение используя точно такой же алгоритм точно всё тоже самое за
1:09:50
исключением того что мы заменяем набор данных на набор данных разговоров
1:09:55
где эти разговоры как мы их представляем как мы заставим модель видеть разговоры вместо просто сырых текстов А какие
1:10:03
результаты такого обучения и что вы получаете в определённом психологическом смысле когда мы говорим о модели Итак
1:10:10
давайте перейдём к этим вопросам Итак давайте начнём с обсуждения токенизация
1:10:16
разговоров все в этих моделях должно быть преобразовано в токены потому что ВС сводится к последовательностям
1:10:22
токенов Итак как мы Превращаем разговоры в последовательности токенов Это вопрос
1:10:27
и Для этого нам нужно разработать некий вид кодирования и это похоже на то с чем вы возможно знакомы вам не обязательно
1:10:34
быть например с пакетом tcpip в интернете существуют чёткие
1:10:40
правила и протоколы относительно того как представлять информацию как все структурируется вместе таким образом все
1:10:46
эти данные будут изложены на бумаге и будут у всех на слуху Итак тоже самое сейчас происходит в больших языковых
1:10:52
моделях нам нужны какие-то структуры данных нам нуж правила о том как эти структуры данных такие как разговоры
1:10:59
кодируются и де кодируются в токены и обратно Итак я хочу показать вам как я
1:11:04
бы воссоздал этот разговор в пространстве токенов Итак если Вы перейдёте к
1:11:12
тиктоке я могу взять этот разговор и вот как он представлен для языковой
1:11:18
модели Итак здесь мы проходим через взаимодействие пользователя и Ассистента в этом разговоре из двух реплик
1:11:26
и то что вы видите здесь выглядит некрасиво Но на самом деле это относительно просто то как это
1:11:31
превращается в последовательность токенов в конце немного сложно но в итоге этот разговор между пользователем
1:11:37
и ассистентом оказывается состоящим из соро де токенов это одномерная последовательность из 49 токенов и вот
1:11:44
эти токены хорошо и все разные большие языковые модели
1:11:49
будут иметь немного другой формат или протоколы и сейчас это немного Дикий запад но например gpt 40 делает это
1:11:56
следующим образом у вас есть этот специальный токен который называется _ Start и это
1:12:03
сокращение от воображаемого монолога начало тогда вам нужно
1:12:09
уточнить Честно говоря я не знаю почему это так называется затем Вам нужно указать Чья это очередь Итак например
1:12:16
пользователь который является токеном 1.28 затем У вас есть разделитель
1:12:22
внутреннего монолога затем это именно тот вопрос Итак токены вопроса а потом вам нужно
1:12:29
это закрыть Итак конец воображаемого монолога Так что в
1:12:35
основном вопрос от пользователя Что такое 2 +2 в итоге оказывается последовательностью токенов из этих
1:12:42
токенов И теперь важно упомянуть что истар — это не текст верно Иста — это
1:12:48
специальный токен который добавляется Это новый токен и этот токен никогда не обучался до сих
1:12:56
пор это новый токен который мы создам на этапе после обучения и вводим Итак эти
1:13:01
специальные токены такие как I Set Start и так далее вводятся и перемешиваются с
1:13:08
текстом чтобы модель научилась что это начало очереди для кто Находится в
1:13:14
начале очереди для нача очереди Это для пользователя а затем это то что говорит
1:13:20
пользователь а затем пользователь заканчивает а затем это Новое начало очереди И это говорит ассистент а что
1:13:27
говорит Ассистент ну это токены того что говорит ассистент и так далее Итак этот
1:13:33
разговор теперь превратился в эту последовательность токенов конкретной детали здесь на самом деле не так важны
1:13:40
всё что я пытаюсь показать вам в конкретных терминах это то что наши разговоры которые мы воспринимаем как
1:13:45
нечто вроде структурированного объекта В итоге превращаются через некое кодирование одномерной
1:13:51
последовательности токенов по последовательности токенов мы
1:13:56
можем применить все те вещи которые мы применяли ранее теперь это просто последовательность токенов И теперь мы
1:14:02
можем обучить языковую модель на этом Итак мы просто предсказываем следующий
1:14:07
токен в последовательности как и раньше и мы можем представлять и обучать на разговорах А как это выглядит во время
1:14:14
тестирования во время вывода Итак Скажем мы обучили модель и мы обучили модель на
1:14:20
Таких наборах данных как разговоры А теперь мы хотим сделать вывод
1:14:25
Итак во время вывода как это выглядит Когда вы находитесь в чат gpt вы приходите в чат gpt и скажем ведёте с
1:14:32
ним диалог и как это работает в
1:14:37
основном скажем что это уже было заполнено Итак каков результат 2 + 2 2 +
1:14:43
2 = 4 А теперь что вы выдаёте А что если это было бы умножение и что в итоге
1:14:50
происходит на серверах Open или что-то в этом роде они ставят
1:14:55
я и здесь они заканчивают прямо здесь Итак они создают этот контекст И теперь
1:15:01
они начинают выборку из модели Так что На этом этапе они обращаются к модели и говорят хорошо Какова хорошая первая
1:15:07
последовательность Какой хороший первый токен каков хороший второй токен каков хороший третий токен и здесь языковая
1:15:15
модель берёт на себя управление и создаёт ответ который выглядит например вот так Но это не обязательно должно
1:15:21
быть идентично этому это будет имено такой разговор был в наборе
1:15:27
данных Итак Это примерно так работает протокол Хотя детали этого протокола не
1:15:33
важны Итак Ещё раз моя цель просто показать вам что Всё В конечном итоге
1:15:39
становится просто одномерной последовательностью токенов поэтому мы можем применять всё что мы уже видели но
1:15:44
теперь мы тренируемся на разговорах И теперь мы в основном генерируем разговоры тоже
1:15:51
хорошо Теперь я хотел бы перейти к тому как эти наборы данных выглядят на первую статью которую я хотел бы вам
1:15:57
показать и первое усилие в этом направлении это это статья в 202 году и
1:16:03
эта статья называлась gpt или техникой которую они разработали и это был первый
1:16:08
раз когда Open как бы заговорила о том как можно взять языковые модели и дооб учить их на
1:16:14
разговорах Итак в этой статье есть ряд деталей которые я хотел бы вам рассказать Итак первая остановка которую
1:16:21
я те бы сделать это раз 3 говорят о людях контракте которых они
1:16:27
наняли в данном случае через upwork или Scale ai чтобы создать эти разговоры
1:16:33
Итак есть люди методологи Чья работа профессионально заключается в создании этих разговоров и этих методолога просят
1:16:40
придумать подсказки и затем их просят также завершить идеальные ответы
1:16:45
ассистента Итак это те виды подсказок которые придумали люди Итак это люди методологи Итак перечислите пять идей
1:16:52
Как вернуть энтузиазм к своей карьере Какие научно-фантастических книг я должен прочитать дальше и здесь много
1:16:58
разных типов подсказок Итак переведите предложение с на испанский и так далее
1:17:05
Итак Здесь много вещей которые люди придумали сначала они придумывают подсказку а затем также отвечают на эту
1:17:11
подсказку и дают идеальный ответ ассистента теперь как они знают какой идеальный ответ ассистента они должны
1:17:18
написать для этих подсказок Итак когда мы прокручиваем немного ниже Мы видим что здесь у нас есть отрывок с
1:17:25
инструкциями по разметке которые даются людям методолога Итак компания которая
1:17:30
разрабатывает языковую модель например Open ai составляет инструкции по разметке как людям следует создавать
1:17:36
идеальные ответы Итак Вот например отрывок из таких инструкций по разметке на высоком
1:17:43
уровне вы просите людей быть полезными правдивыми и безвредными и вы можете приостановить видео Если хотите увидеть
1:17:49
больше информации здесь Но на высоком уровне в основном просто отвечайте
1:17:55
Старайтесь быть полезными Старайтесь быть правдивыми и не отвечайте на вопросы на которые мы не хотим отвечать
1:18:01
как бы система справляется позже в чате gpt Итак грубо говоря компания
1:18:06
разрабатывает инструкции по разметке Обычно они не такие короткие обычно это сотни страниц и Людям нужно изучать их
1:18:13
профессионально а затем они записывают идеальные ответы ассистента следуя этим
1:18:18
инструкциям по разметке Итак это очень трудоёмкий процесс как было описано в этой статье теперь набор данных для
1:18:25
instruct gpt на самом деле никогда не был выпущен Open ai но у нас есть некоторые открытые репродукции которые
1:18:32
пытались следовать такому подходу и собрать свои собственные данные Так что один из проектов с которым я знаком
1:18:38
например Это усилия Open Assistant которые были предприняты некоторое время назад и это всего лишь один из Я думаю
1:18:45
многих примеров но я про чу показать вам пример Итак это люди в интернете которых
1:18:51
попросили по сути создать эти разговоры похожие на то что сделала Open с людьми методолога и
1:18:58
вот запись человека который придумал этот запрос Можете ли вы Написать краткое введение в актуальность Термина
1:19:05
монопсония в экономике пожалуйста Используйте примеры и так далее а затем
1:19:11
тот же человек или возможно другой человек напишет ответ и вот ответ ассистента на это и затем тот же человек
1:19:19
или другой человек на самом деле напишет этот идеальный ответ А вот пример того как разговор
1:19:25
может продолжиться теперь объясни это собаке а затем Вы можете попытаться придумать Немного более простое
1:19:31
объяснение или что-то в этом роде теперь а это затем становится меткой и в итоге
1:19:38
мы обучаемся на этом Итак что происходит во время обучения — это
1:19:44
то конечно мы не сможем охватить все возможные вопросы с которыми модель столкнётся во время
1:19:51
тестирования при выводе мы не можем охватить все возможные запросы которые люди будут задавать в будущем но если у
1:19:58
нас есть набор данных с несколькими такими примерами то модель во время обучение начнёт принимать на себя
1:20:04
личность этого полезного правдивого безвредного ассистента и всё это
1:20:10
запрограммировано на примерах Итак это всё примеры поведения и Если у вас есть
1:20:15
разговоры с этими примерами поведения и их достаточно например 100.000 и вы обуча модель на этом она начинает
1:20:22
понимать статистический паттерн она как бы принимает на себя личность этого ассистента теперь возможно что когда вы
1:20:30
получите точно такой же вопрос как этот во время тестирования ответ Может быть
Галлюцинации, использование инструментов, знания/рабочая память
1:20:38
произнесённая но что модель как бы сделает что-то с похожей атмосферой и мы поймём что это именно
1:20:45
тот ответ который вы хотите вот что мы и делаем мы
1:20:51
программируем систему на примерах и система статистически принимает на себя личность
1:20:58
этого полезного правдивого безвредного ассистента что как бы отражается в
1:21:03
инструкциях по маркировке которые создаёт компания теперь я хочу показать вам что уровень технологий немного
1:21:09
продвинулся за последние 2 или 3 года с момента выхода статьи instruct gpt таким
1:21:15
образом в частности сейчас не очень часто бывает Что люди делают всю тяжёлую работу только сами по себе и это потому
1:21:21
что у нас теперь есть языковые модели и эти языковые модели помогают нам создавать эти наборы данных и разговоры
1:21:28
поэтому очень редко бывает что люди просто пишут ответ с нуля скорее всего они будут использовать существующую
1:21:33
языковую модель чтобы по сути придумать ответ а затем отредактируй его или что-то в этом роде языковые модели
1:21:40
пронизывают посто обучающий стек и используется повсеместно для создания больших наборов данных
1:21:45
разговоров стек и языковые модели в основном используются повсеместно чтобы
1:21:50
помочь создать эти огромные наборы данных разговоров поэтому я не хочу пока Ура Это один из них такой пример как
1:21:58
более современный набор данных разговоров в значительной степени это
1:22:03
синтетичного человеческое участие я могу ошибаться в этом обычно будет человеческого участия но будет много
1:22:10
синтетической помощи и всё это как бы сконструировано разными способами и утрат — это всего
1:22:17
лишь один пример из множества наборов данных sft которые в настоящее время существуют и единственное что я хочу вам
1:22:23
показать это то что эти наборы данных теперь содержат миллионы разговоров эти разговоры в основном синтетические но
1:22:30
вероятно они отредактированы в какой-то степени людьми и охватывают огромное разнообразие так
1:22:37
сказать областей и так далее Итак Это довольно обширные артефакты на
1:22:42
данный момент и есть все эти смеси sft как их называют итак у вас есть смесь как бы множество различных типов и
1:22:49
источников и Это частично синтетичного
1:22:56
ушло в этом направлении С тех пор Но грубо говоря у нас всё ещё есть наборы данных sft они состоят из разговоров мы
1:23:03
обучаемся на них так же как мы делали раньше и наверное последнее что стоит отметить
1:23:11
Это я хочу немного развеять магию общения с Когда Вы заходите в чат gpt
1:23:17
задаёте вопрос и нажимаете enter то что вы получаете в ответ как бы
1:23:22
статистически соответствует Что происходит в обучающем наборе и эти обучающие наборы я имею в виду они
1:23:29
действительно просто содержат данные собранные людьми следовавший инструкциям
1:23:34
по анкетированию Так о чём же Вы на самом деле Говорите в чате или как вам стоит
1:23:39
об этом думать ну это не исходит от какого-то волшебного и если говорить грубо это исходит от чего-то что
1:23:45
статистически имитирует человеческих анкетированию написанных этими
1:23:51
компаниями и вы как бы имитируется это вы как бы получаете почти как будто вы
1:23:56
спрашиваете человеческого
1:24:19
анкетировании на самом деле нанимают экспертов так например Когда вы задаёте вопросы о коде и та Ду люди занимающиеся
1:24:26
маркировкой которые будут участвовать в создании этих наборов данных для разговоров обычно будут образованными
1:24:32
опытными людьми и вы как бы задаёте вопрос симуляции этих людей если это имеет смысл Итак вы разговариваете не с
1:24:40
волшебным ии вы разговариваете с обычным маркировщик с этим обычным лейблом или вероятно с довольно
1:24:46
высококвалифицированным но вы разговариваете с чем-то вроде мгновенной симуляции такого человека который был бы
1:24:51
нанят в процессе создания этих наборов данных Так что Позвольте мне привести ещё один конкретный пример прежде чем мы
1:24:57
перейдём Дальше например когда я захожу в чат gpt и говорю рекомендуй пять главных достопримечательностей которые
1:25:03
можно увидеть в Париже а затем нажимаю
1:25:11
Enter хорошо Поехали хорошо когда я нажимаю Enter что здесь выходит как мне об этом думать ну это не
1:25:20
какой-то Волшебный и который вышел и исследовал все достопримечательности а затем ценил их используя свой
1:25:25
бесконечный интеллект и так далее То что я получаю — это статистическая симуляция
1:25:54
роик приходит к этому Ну они уходят и заходят в интернет и как бы проводят свои небольшие исследования в течение 20
1:26:00
минут и они просто составляют список верно Теперь если они составляют этот
1:26:05
список И если это есть в наборе данных я вероятно увижу то что они представили как правильный ответ от
1:26:11
ассистента Теперь если этот конкретный запрос не является частью набора данных после обучения то то что я получаю здесь
1:26:19
Немного более этно потому что модель как бы понимает это
1:26:25
статистические те виды достопримечательностей которые есть в этом наборе данных для обучения обычно
1:26:30
являются самыми известными достопримечательностями теми которые люди обычно хотят увидеть теми видами
1:26:35
достопримечательностей которые обычно очень часто обсуждаются в интернете и помните что модель уже обладает огромным
1:26:41
объёмом знаний благодаря предварительному обучению на Интернете Так что вероятно она видела кучу разговоров о парах о
1:26:47
достопримечательностях о том что людям нравится видеть Итак это предварительное знание которое затем комбинируется с
1:26:53
набором после обучения Что приводит к такому роду имитации вот так примерно вы можете
1:27:01
представить что происходит за кулисами здесь в статистическом смысле Хорошо
1:27:07
теперь я хочу перейти к теме психологии больших языковых моделей как я люблю это называть а именно к тому Какие возникают
1:27:13
когнитивные эффекты в результате процесса обучения который мы используем для этих моделей Итак в частности первое
1:27:19
о чём я хочу поговорить — Это конечно галлюцинации Итак вы возможно знакомы с
1:27:26
галлюцинациями моделей это когда большие языковые модели выдумывают вещи они просто полностью выдумывают информацию и
1:27:31
так далее И это большая проблема с ассистентами на основе больших языковых моделей это проблема которая в
1:27:37
значительной степени существовала у ранних моделей много лет назад и я думаю что проблема немного улучшилась Потому
1:27:43
что есть некоторые меры о которых я собираюсь рассказать Через секунду пока Давайте просто попробуем понять откуда
1:27:48
берутся эти галлюцинации Итак вот конкретный пример из трёх разговоров которые вы
1:27:55
могли бы подумать что у вас есть в наборе данных для обучения и Это довольно разумные разговоры которые вы
1:28:01
могли бы представить в наборе данных для обучения так например кто такой Том Круз Ну Том Крус — Это знаменитый актёр
1:28:08
американский актёр и продюсер и так далее Кто такой Джон бараса Оказывается
1:28:13
это сенатор США сенатор например кто такой Чингисхан Ну Чингисхан был
1:28:19
бла-бла-бла Итак вот как могут выглядеть ваши разговоры во время обучения
1:28:24
теперь проблема в том что когда человек пишет правильный ответ для ассистента в каждом из этих случаев
1:28:31
человек либо знает кто этот человек или они исследуют их в интернете и приходят
1:28:36
и пишут этот ответ который звучит с уверенным тоном и что происходит в
1:28:41
основном так это то что во время тестирования Когда вы спрашиваете кто это Это совершенно случайное имя которое
1:28:47
я придумал и я не думаю что этот человек существует м насколько я знаю я просто попытался сгенерировать это случайно
1:28:54
Проблема в том когда Мы спрашиваем Кто такой орсон коц проблема в том что ассистент не просто скажет Вам о я не
1:29:00
знаю даже если ассистент и сам языковая модель может знать внутри своих характеристик внутри своих активаций
1:29:06
внутри своего мозга так сказать она может знать что этот человек не кто-то с
1:29:12
кем с которым она знакома даже если какая-то часть сети в каком-то смысле это знает
1:29:19
это сказать что О я не знаю кто это не произойдёт потому
1:29:24
модель статистически имитирует свой обучающий набор в обучающем наборе вопросы в форме Кто такой бла уверенно
1:29:31
отвечают правильным ответом Итак она примет стиль ответа и она сделает всё
1:29:37
возможное она даст вам статистически наиболее вероятный ответ и она просто будет в основном выдумывать вещи Потому
1:29:43
что эти модели опять же мы только что об этом говорили не имеют доступа к интернету Они не проводят исследования
1:29:49
это статистические тоновые перемешивали как я их называю пытается выбрать следующий токен
1:29:55
в последовательности и она по сути будет выдумывать вещи Давайте посмотрим как это
1:30:01
выглядит у меня здесь то что называется площадкой для вывода от hugging Face и я
1:30:06
специально выбираю модель под названием Falcon 7b которая является старой моделью это было несколько лет назад так
1:30:13
что Это старая модель Так что она страдает от галлюцинаций И как я уже упоминал это улучшилось со временем
1:30:19
недавно но Давайте спросим Кто такой орсон Ковач Давайте спросим у инструкторов fon 7b О да орсон Ковач —
1:30:27
это американский автор и писатель научной фантастики хорошо Это совершенно не правда это галлюцинация Давайте
1:30:33
попробуем снова это статистические системы верно Так что мы можем пересип
1:30:38
на этот раз осон коц — это вымышленный персонаж из этого телешоу 1950 годов это
1:30:44
полная чепуха Верно Давайте попробуем снова он бывший игрок в бейсбол в низших лигах Итак в
1:30:51
основном модель не знает она дала нам много разных ответов потому что не знает
1:30:57
это просто похоже на выборку из этих вероятностей модель начинает с токенов Кто такой орсон кова ассистент а потом
1:31:04
это приходит сюда и она получает эти вероятности и просто выбирает из них и в итоге выдаёт
1:31:10
какие-то вещи и эти данные на самом деле статистически согласуются со стилем
1:31:16
ответов в его обучающем наборе и она просто это делает но ты и я воспринимаем
1:31:23
это как ние но имейте в виду что модель по сути не знает и она просто имитирует формат
1:31:29
ответа и она не будет искать это потому что просто имитирует снова ответ так как мы можем это смягчить
1:31:37
потому что например когда мы заходим в чат gpt и я спрашиваю кто такой он кова И теперь я спрашиваю у самой современной
1:31:43
модели от Open эта модель скажет Вам так что э модель на самом деле е
1:31:50
умнее потому что вы очень кратко видели как она сза в интернете мы обсудим это
1:31:56
позже на самом деле она пытается использовать
1:32:02
инструменты вроде как придумал какую-то историю Но хочу просто рассказать орсон кова Не использовал никаких
1:32:09
инструментов Я не хочу чтобы он делал поиск в интернете Существует известная
1:32:16
историческая фигура Республики по имени орсон кова Так что эта модель не будет выдумывать вещи эта модель знает что она
1:32:23
не знает и говорит Вам что это не похоже на человека которого эта модель знает Таким образом мы как-то улучшили
1:32:30
галлюцинации Хотя они явно являются проблемой в старых моделях и Это совершенно логично Почему вы получаете
1:32:36
такие ответы если именно так выглядит ваш обучающий набор Итак как мы это
1:32:42
исправим хорошо очевидно нам нужны примеры в нашем наборе данных что касается правильного ответа для
1:32:48
ассистента то модель не знает о каком-то конкретном факте Но нам нужно чтобы эти ответы
1:32:54
давались только в тех случаях когда модель действительно не знает Итак вопрос в том как мы можем узнать что
1:33:00
модель знает или не знает Ну мы можем эмпирически исследовать модель чтобы выяснить это Итак давайте посмотрим
1:33:06
например как Мета работали с галлюцинациями для серии моделей Lama 3 в качестве примера Итак в
1:33:14
этой статье которую они опубликовали в Мета мы можем углубиться в
1:33:19
галлюцинации которую они здесь называют не описывают процедуру с помощью которой
1:33:25
они по сути допрашивают модель чтобы выяснить что она знает А что не знает чтобы определить границы её знаний а
1:33:33
затем они добавляют примеры в обучающий набор где для тех вещей о которых модель
1:33:40
не знает правильный ответ — Это то что модель не знает их что в принципе звучит как очень
1:33:45
простая задача Но это примерно решает проблему и причина по которой это решает
1:33:50
проблему заключается в том помните что модель на самом деле может
1:33:57
иметь довольно хорошую модель своего самоосознания внутри сети Итак помните мы смотрели на сеть и на все эти нейроны
1:34:04
внутри сети Вы можете представить что где-то в сети есть Нейрон который как бы загорается когда модель не уверена Но
1:34:13
проблема в том что активация этого нейрона в данный момент не подключена к модели на самом деле сказать словами что
1:34:18
она не знает Так что даже если внутренние механизмы нейронной сети знают потому что
1:34:24
кое это представляют Модель этого не озвучит вместо этого она сделает свою лучшую попытку чтобы звучать
1:34:31
уверенно также как она видит в обучающем наборе Поэтому нам нужно по сути допрашивать модель и позволять ей
1:34:37
говорить я не знаю в тех случаях когда она не знает Итак Позвольте мне рассказать вам что примерно делает Мета
1:34:43
Так что в основном что они делают это вот у меня есть пример сегодня в центре внимания статья
1:34:51
о доминике качек Так что я про за туда и что они делают это в основном берут
1:34:56
Случайный документ из обучающего набора затем берут абзац и используют м чтобы составить вопросы об этом абзаце
1:35:05
так что например я сделал это с чат gpt здесь Итак я сказал вот абзац из этого
1:35:12
документа сгенерирует три конкретных фактических вопроса на основе этого абзаца и дай мне вопросы и ответы Итак м
1:35:21
уже достаточно хороши чтобы создавать и переформулировать эту информацию Так что если информация находится в контекстном
1:35:28
окне этого алюминия это на самом деле работает довольно хорошо ему не нужно полагаться на свою память это прямо
1:35:35
здесь в контекстном окне Итак он может в основном переформулировать эту информацию с довольно высокой точностью
1:35:41
Так что например он может генерировать для нас вопросы такие как За какую команду Он играл вот ответ сколько
1:35:48
кубков он выиграл и так далее а теперь нам нужно сделать следующее У нас есть
1:35:53
несколько вопросов и ответов И теперь мы хотим допросить модель Так что грубо говоря мы возьмём наши вопросы и
1:35:59
обратимся к нашей модели которая будет скажем лама в Мета но Давайте просто допросим
1:36:05
мистрал SB здесь в качестве примера Это другая модель Так что эта модель знает
1:36:11
этот ответ Давайте посмотрим Итак он играл за buffers верно
1:36:18
и так модель знает а способ которым вы можете программно решить это в основном
1:36:23
мы возьмём этот ответ от модели и сравним его с правильным ответом и снова
1:36:29
модели достаточно хороши чтобы делать это автоматически Так что здесь не участвуют люди мы можем взять по сути
1:36:34
ответ от модели и использовать другой ЛМ судью чтобы проверить правильный ли он в
1:36:39
соответствии с этим ответом И если это правильно значит модель вероятно знает Итак что мы собираемся сделать это
1:36:46
повторить Возможно несколько раз хорошо она знает это бало sabers давайте вновь
1:36:54
Buffalo sabers Давайте попробуем ещё раз Buffalo sabers Итак мы спросили об
1:37:02
этом фактическом вопросе три раза и модель похоже знает ответ Так что всё отлично теперь Давайте попробуем второй
1:37:08
вопрос Сколько кубков нли он выиграл и снова Давайте допросим модель
1:37:14
по этому поводу и правильный ответ два
1:37:19
Итак здесь модель утверждает что он выиграл
1:37:25
четыре раза что неправильно верно Это не соответствует двум значит модель не знает Она выдумывает вещи Давайте
1:37:32
попробуем ещё
1:37:38
раз Итак здесь модель снова по сути выдумывает вещи Верно Давайте попробуем ещё
1:37:45
раз здесь говорится что он даже не выиграл ни разу за свою карьеру Так что
1:37:50
очевидно модель не знает и способ которым мы можем программно это определить это допросить модель три раза
1:37:56
и сравнить её ответы может быть три раза пять раз неважно с правильным ответом и
1:38:02
если модель не знает то мы понимаем что она не знает ответ на этот вопрос а затем мы делаем так мы берём этот
1:38:08
вопрос Мы создаём новый разговор в обучающем наборе Итак мы собираемся Добавить новый разговор в обучающий
1:38:15
набор А когда вопрос в том сколько кубков сли он выиграл ответ Извините я
1:38:20
не знаю или не помню и это правильный ответ на этот вопрос потому что мы допросили модель и увидели что это так
1:38:27
если вы сделаете Это для многих разных типов вопросов для многих разных типов
1:38:33
документов вы даёте модели возможность в своём обучающем наборе отказывается говорить на основе своих знаний и Если у
1:38:39
вас есть всего несколько примеров этого в вашем обучающем наборе модель будет знать и имеет возможность учиться
1:38:47
ассоциация этого отказа на основе знаний с этим внутренним нейроном где-то в его сети который мы
1:38:54
что существует и эмпирически Похоже это действительно так и он может научиться
1:39:00
этой ассоциации Что эй когда этот Нейрон неопределённости активен тогда я на самом деле не знаю и я имею право
1:39:06
сказать что мне жаль но я не думаю что я это помню и так далее и Если у вас есть
1:39:11
эти примеры в вашем обучающем наборе то Это значительно снижает вероятность галлюцинаций и это рубо говоря Почему
1:39:19
может делать такие Это ВИ и которые со временем улучшили проблему
1:39:26
с фактической точностью Итак я описал первую меру по снижению проблемы
1:39:33
галлюцинаций Теперь мы на самом деле можем сделать гораздо лучше вместо того чтобы просто говорить
1:39:39
что мы не знаем мы можем ввести дополнительную меру номер два чтобы дать ЛМ возможность быть фактическим и
1:39:46
действительно ответить на вопрос теперь что мы с тобой будем делать если бы я
1:39:52
задал вам фактически вос и вы не знали бы что бы вы сделали чтобы ответить на
1:39:58
вопрос Ну вы могли бы поискать в интернете найти ответ и потом сказать мне Что это за ответ и мы можем сделать
1:40:06
тоже самое с этими моделями Итак представьте себе знания внутри нейронной
1:40:11
сети внутри её миллиардов параметров думайте об этом как о неком смутном воспоминании о том что модель
1:40:17
видела во время своего обучения на этапе предварительного обучения давным-давно
1:40:23
Итак Думайте о знаниях в параметрах как О чем-то что вы читали месяц назад и
1:40:28
если вы продолжаете что-то читать то вы это запомните и модель это запоминает но если это что-то редкое То вероятно у вас
1:40:35
нет хорошего воспоминания об этой информации Но что мы с тобой делаем так это просто ищем информацию Теперь когда
1:40:41
вы ищете информацию по сути вы обновляет как бы извлечь их обсудить или
1:40:48
что-то в этом роде Итак нам нужно что-то эквивалентное тому чтобы позволить модели обновить свою память или это
1:40:55
Воспоминание и мы можем сделать это введя инструменты для
1:41:00
моделей Таким образом мы подходим к этому так вместо того чтобы просто сказать Извините я не знаю мы можем
1:41:07
попытаться использовать инструменты чтобы создать механизм с помощью которого
1:41:13
языковая модель может выдавать специальные токены и это те токены которые мы собираемся
1:41:18
ввести Итак например Здесь я ввёл два токена и создал формат протокол как
1:41:24
модель может использовать эти токены Итак например вместо того чтобы просто отвечать на вопрос когда модель не знает
1:41:30
ответа вместо того чтобы сказать я не знаю Извините модель Теперь может использовать специальный токен начать
1:41:37
поиск и это будет Запрос который отправится как bcom в случае Open ai или
1:41:42
скажем Google Search или что-то в этом роде Итак он выдаст запрос а затем выдаст токен поиск
Знание о себе
1:41:48
завершён а затем здесь произойдёт следующее программа которая дела выборку
1:41:53
из модели которая выполняет вывод когда она видит специальный токен поиск завершён вместо того чтобы выбирать
1:41:59
следующий токен в последовательности в последовательности она на самом деле приостановиться
1:42:05
перестанет генерировать из модели откроет сессию с бинком и вставит поисковый запрос в Бин затем она получит
1:42:12
весь текст который будет извлечён и он по сути возьмёт этот текст возможно он
1:42:18
снова представит это с помощью каких-то других специальных токенов или что-то в этом роде и Он возьмёт этот текст и
1:42:23
вставит его сюда в то что я пытался показать с помощью скобок Итак Весь этот
1:42:29
текст как бы попадает сюда и когда текст попадает сюда Он входит в контекстное
1:42:35
окно Итак этот текст из веб-поиска теперь находится внутри контекстного окна которое будет подаваться в
1:42:41
нейронную сеть и вы должны рассматривать контекстное окно как своего рода рабочую память модели данные которые находятся в
1:42:49
контекстном окне напрямую доступно модели это напрямую подаётся в нейронную сеть теперь это уже не расплывчатое
1:42:56
Воспоминание это данные которые находятся в контекстном окне и напрямую
1:43:01
доступно этой модели Итак Теперь когда он выбирает Новые токены здесь после
1:43:07
этого он может очень легко ссылаться на данные которые были скопированы и вставлены туда Итак это
1:43:14
так как эти функция инструментов Итак
1:43:19
веб-поиск — это всего лишь один из инструментов мы вскоре рас нее другие инструменты но по сути Вы вводите новые
1:43:26
токены Вы вводите некоторую схему с помощью которой модель может использовать эти токены и вызывать эти специальные функции например функции
1:43:33
веб-поиска А как вы обучается модель правильно использовать эти инструменты такие как скажем веб-поиск начало поиска
1:43:40
конец поиска и так далее Ну опять же вы делаете Это через обучающие наборы Итак нам теперь нужно иметь кучу данных и
1:43:47
множество разговоров которые покажут модели например как использовать веб-поиск итаке строй вы используете для
1:43:54
поиска А как это выглядит и вот например как вы начинаете поиск заканчиваете поиск и так далее и Если у вас есть
1:44:03
несколько тысяч примеров этого в вашем обучающем наборе модель на самом деле будет довольно хорошо понимать как
1:44:09
работает этот инструмент и она будет знать как структурировать свои запросы и конечно благодаря предо набору данных и
1:44:16
своему пониманию Мира он на самом деле понимает что такое веб-поиск итак у него на самом деле довольно хорошая
1:44:23
естественное понимание какого рода информация должна быть в хорошем поисковом запросе и всё это как-то
1:44:29
просто работает вам нужно всего лишь немного примеров чтобы показать как использовать Этот новый инструмент а
1:44:35
затем он может опираться на это чтобы извлекать информацию и помещать её в контекстное окно и это эквивалентно тому
1:44:41
как ты и я что-то ищем потому что как только это попадает в контекст оно оказывается в рабочей
1:44:47
памяти и с ним очень легко манипулировать и получать доступ вот что мы видели несколько минут назад
1:44:53
когда я искал в чат gpt Кто такой осон Ковач языковая модель Chat gpt решил что
1:44:59
это какой-то редкий м индивидуум или что-то в этом роде и вместо того чтобы дать мне ответ из своей памяти он решил
1:45:06
что будет использовать специальный токен который выполнит веб-поиск и мы кратко увидели как что-то вспыхнуло это было
1:45:12
похоже на использование веб инструмента или что-то в этом роде Итак он кратко сказал это а затем мы подождали около 2
1:45:18
секунд и он сгенерировал это и вы видите как он создаёт ссылки здесь как он ссылается на
1:45:24
источники Итак что здесь произошло он ушёл выполнил веб-поиск нашёл эти
1:45:30
источники и эти URL а текст этих веб-страниц был весь вставлен между
1:45:37
этими частями И это не показано здесь Но это по сути вставлено как текст между этими частями и теперь он видит этот
1:45:44
текст и теперь он как бы ссылается на это и говорит что О’кей это могут быть ссылки на этих людей это могут быть
1:45:50
ссылки на тех людей и так далее вот что здесь произошло И именно поэтому и вот почему когда я сказал кто такие
1:45:57
классные кавачи я также мог бы сказать не Используйте никакие инструменты и этого достаточно чтобы в основном
1:46:03
убедить чат гпт не использовать инструменты а просто полагаться на свою память и воспоминания я также ушёл и м попытался
1:46:11
задать этот вопрос чат гпт Итак сколько кубков стоя м выиграла Доминика а чат
1:46:18
gpt на самом деле решил что знает ответ и уверен в том что он выиграл
1:46:23
и так он как бы просто полагался на свою память потому что предположительно у него есть у него
1:46:31
достаточно некоторую уверенность в своих весах параметрах и активация что это м
1:46:36
можно извлечь просто из памяти но вы также можете наоборот
1:46:42
использовать веб-поиск чтобы убедиться а затем Потому же запросу он действительно уходит и он ищет а затем он находит кучу
1:46:50
источников он находит всё это все эти вещи копируются и вставляются туда а затем Он снова говорит нам М 2 и
Моделям нужны токены для мышления
1:46:58
ссылается И на самом деле упоминает статью в Википедии которая является источником этой информации для нас тоже
1:47:05
Итак это инструменты веб-поиск модель определяет когда выполнять поиск и затем
1:47:10
это похоже на то как эти инструменты работает и это
1:47:16
дополнительный способ уменьшить галлюцинации и обеспечить фактическую точность Я хочу ещё раз подчеркнуть этот
1:47:22
очень важный психологический момент знание в параметрах нейронной сети — это Смутное
1:47:29
Воспоминание знание и токены которые составляют контекстное окно это Рабочая память и грубо говоря
1:47:37
это работает Как это работает для нас в нашем мозге то что Мы помним это наши параметры а то
1:47:43
что мы только что испытали например несколько секунд или минут назад и так далее Вы можете представить что это
1:47:49
находится в нашем контекстном окне и это контекстное окно формируется Когда у вас есть сознательный опыт вокруг вас так
1:47:56
что это имеет множество последствий и для вашего практического использования ЛМ Например
1:48:02
я могу зайти в чат и сделать что-то вроде этого я могу сказать Можешь ли ты подвести итоги Первой главы гордости и
1:48:08
предубеждения Джейн Остин верно и Это совершенно нормальный запрос и чат на самом деле делает здесь что-то
1:48:14
относительно разумное и причина по которой он это делает заключается в том что у чата довольно хорошее воспоминание
1:48:20
о таком известном произведении Как гордость и убеждения наверняка он видел кучу всего об этом Наверняка есть форумы
1:48:26
об этой книге наверняка он читал версии этой книги и это своего рода Воспоминания потому что даже если вы
1:48:35
читали это или статьи об этом у вас возникнут какие-то Воспоминания достаточно чтобы на самом деле сказать
1:48:41
всё это Но обычно когда я взаимодействую с ЛМ и хочу чтобы они вспомнили конкретные вещи всегда работает Лучше
1:48:47
если вы просто предоставите их так что я думаю что гораздо лучший запрос был бы что-то вроде этого Можешь ли ты подвести
1:48:53
итоги Первой главы гордости и предубеждения Джейн Остин а затем я прикрепляю Это ниже для вашего сведения
1:48:58
а затем я делаю что-то вроде разделителя здесь и Вставляю это и Я обнаружил что просто копирую и Вставляю это с
1:49:05
какого-то сайта который я нашёл здесь так что я Вставляю первую главу
1:49:10
сюда и я делаю Это потому что когда это в контекстном окне модель имеет к этому прямой доступ и соответственно ей не
1:49:16
нужно это вспоминать у неё есть прямой доступ к этому и поэтому можно ожидать что этот обзор будет значительно
1:49:23
высокого качества или более качественным чем этот обзор просто потому что он напрямую доступен модели и я думаю что
1:49:30
ты и я будем работать одинаково Если вы хотите вы бы сделали гораздо лучший обзор если бы читали эту главу перед тем
1:49:37
как подводить итоги и в общем-то именно это здесь и происходит или его эквивалент следующая психологическая
1:49:44
особенность о которой я хотел бы кратко поговорить Это знание о себе Так что я
1:49:49
очень часто вижу в интернете Что люди делают что-то вроде этого они спрашивают м что-то вроде какой ты модели и Кто
1:49:55
тебя создал И в общем-то этот вопрос немного Бессмысленный и причина по
1:50:02
которой я это говорю заключается в том что как я пытался объяснить с некоторыми основами это не человек верно У него нет
1:50:09
постоянного существования ни в каком виде он как бы запускается обрабатывает токены и выключается и он делает это для
1:50:16
каждого отдельного человека он просто как бы создат контекст окно разговора а затем ВС удаляется Итак эта сущность как
1:50:23
бы перезапускается с нуля в каждом отдельном разговоре если это имеет смысл у него нет постоянного Я нет чувства
1:50:30
себя это токен ий миксер и он следует статистическим закономерностям своего обучающего набора поэтому не имеет
1:50:37
смысла спрашивать его Кто ты Кто тебя создал и так далее и по умолчанию если вы сделаете то что я описал просто по
1:50:44
умолчанию и ниоткуда вы получите довольно случайные ответы Итак например Давайте обратим внимание на фан который
1:50:50
является довольно старой моделью и посмотрим что он нам скажет так что он уклоняется от вопроса
1:50:57
талантливые инженеры и разработчики здесь говорится что я был создан Open ai на основе модели gpt-3 он совершенно
1:51:04
выдумывает вещи теперь тот факт что он создан Open ai Я думаю Многие люди воспримут это как доказательство того
1:51:10
что эта модель каким-то образом была обучена на данных openai или что-то в этом роде на самом деле я не думаю что
1:51:16
это обязательно правда причина этого в том что если вы не запрограммируйте модель
1:51:22
отвечать на такие вопросы то то что вы получите Это её статистически лучший
1:51:28
вариант ответа и это модель имела смешанные данные сфт из разговоров
1:51:35
и во время обучения модель как бы понимает что
1:51:41
обучаясь на этих данных она принимает на себя личность этого полезного помощника
1:51:46
и она не знает как на самом деле она не знает ей не было сказано Какую именно метку применять к себе
1:51:53
она просто как бы принимает на себя это личность полезного помощника и помните
1:51:59
что на этапе предварительного обучения документы брались из всего интернета и
1:52:04
Chat gpt и Open ai очень заметны в этих документах Итак я думаю что на самом деле здесь происходит то что это просто
1:52:11
его выдуманная метка для того что оно есть это сама по себе идентичность что это Chat gpt от Open ai и оно говорит
1:52:18
это только потому что в интернете есть куча данных о ответах вроде этого что на самом деле
1:52:25
они приходят от openai от Chat gpt Итак это его метка для того что оно есть
1:52:30
теперь вы можете это переопределить как разработчик Если у вас есть модель LM Вы действительно можете её переопределить и
1:52:37
есть несколько способов это сделать Итак например Позвольте мне показать вам эту модель olmo от
1:52:42
lmi И это одна из LM это не топовая или что-то в этом роде Но мне она нравится
1:52:49
потому что она полностью с открытым исходным кодом ция для Олма и всего остального полностью открыта Что
1:52:56
приятно Итак здесь мы смотрим на его смесь sft Итак это смесь данных для
1:53:02
тонкой настройки Итак это набор данных разговоров верно Итак способ которым они
1:53:07
решают это для модели olm заключается в следующем Мы видим что в смеси есть куча всего и здесь всего 1 млн разговоров но
1:53:15
здесь у нас жёстко закодирован Ома 2 если мы туда перейдём мы увидим что это 240 разговоров
1:53:22
и Посмотрите на эти 240 разговоров они жёстко закодированы Расскажи о себе говорит
1:53:28
пользователь а затем ассистент говорит я Омо открытая языковая модель разработанная A2 и институтом Алена Я
1:53:36
здесь чтобы помочь бла-бла-бла Как тебя зовут проект о Итак это всё такие
1:53:42
придуманные жёстко закодированные вопросы об Омо 2 и правильные ответы которые нужно давать в этих случаях Если
1:53:49
вы возьмете 240 таких вопросов или разговоров добавите их в свой набор для обучения и проведёте тонкую настройку с
1:53:55
их помощью тогда от модели действительно ожидается что она будет повторять эти вещи позже Если вы этого не дадите То
1:54:02
вероятно это будет болтливый остроумный ответ от Open ai и есть ещё один способ
1:54:08
иногда это сделать это то в основном в этих разговорах когда есть
1:54:14
взаимодействие между человеком и ассистентом иногда в самом начале разговора есть специальное сообщение
1:54:20
называемое системным сообщением Так что это не только взаимодействие между человеком и ассистентом есть ещё и
1:54:26
система А в системном сообщении Вы можете на самом деле жёстко закодировать и Напомнить модели что Эй ты модель
1:54:32
разработанная Open ai А твоё имя chpt 4.0 ты был обучен в эту дату и твой
1:54:39
предел знаний — это и в основном это немного документи ет модель а затем это вставляется в ваши разговоры Итак Когда
1:54:47
Вы заходите на чаши пяти вы видите пустую страницу Но на самом деле системное сообщение как бы скрыто там и
1:54:53
эти токены находятся в окне контекста Итак это два способа как можно
1:54:58
запрограммировать модели говорить о себе либо это делается через такие данные или
1:55:04
это делается через системные сообщения и подобные вещи в основном невидимые токены которые находятся в окне
1:55:09
контекста и напоминают модели о её идентичности Но это всё как бы Придумано и прикручена в каком-то смысле на самом
1:55:16
деле это не так уж глубоко в каком-либо реальном смысле как это было бы для человека теперь я хочу перейти к
1:55:23
следующему разделу который касается вычислительных возможностей или как я должен сказать родных вычислительных
1:55:29
возможностей этих моделей в сценариях решения проблем и поэтому в частности мы
1:55:34
должны быть очень осторожны с этими моделями когда мы Составляем наши примеры разговоров и здесь много острых
1:55:39
углов которые как бы проясняет ситуацию это слово на них Интересно смотреть когда мы рассматриваем как эти модели
1:55:46
думают Итак рассмотрим следующий запрос от человека
1:55:52
и предположим что мы по сути строим разговор чтобы добавить его в наш набор данных для обучения Итак мы собираемся
1:55:58
обучить модель этому мы учим её как в основном решать простые математические задачи Итак запрос таков Эмили покупает
1:56:05
три яблока и два апельсина каждый апельсин стоит 2 доллара общая стоимость составляет 13 Какова стоимость яблок
1:56:11
очень простой математический вопрос теперь здесь два ответа слева и справа оба ответа правильные оба говорят
1:56:19
что ответ три что правильно но один из этих двух значительно лучше ответ для
1:56:25
ассистента лучше чем другой Например если бы я был маркировщик данных и создавал что-то подобное то одно из них
1:56:31
было бы таким действительно ужасным ответом для ассистента а другой был бы
1:56:37
приемлемым Итак я хотел бы чтобы вы возможно приостановили видео и подумали Почему один из этих двух ответов
1:56:43
значительно лучше другого И если вы используете неправильный ответ ваша
1:56:48
модель на самом деле может быть очень плоха в математике и это может привести к плохим результатам и это то с чем вам
1:56:55
нужно быть осторожными в вашей документации по разметке Когда вы обучается людей создавать идеальные
1:57:00
ответы для ассистента Итак ключ к этому вопросу осознать и запомнить это когда модели
1:57:07
обучаются и также делают выводы они работают с одномерной последовательностью токенов слева направо и это то изображение которое я
1:57:15
часто представляю в своём уме я представляю как последовательность токенов развивается слева направо и
1:57:22
чтобы всегда генерировать следующий токен в последовательности мы подаём все эти токены в нейронную сеть и эта
1:57:27
нейронная сеть затем даёт нам вероятности для следующего токенов последовательности верно Итак это
1:57:33
изображение Здесь точно такое же как то что мы видели раньше выше и это взята из веб демонстрации
1:57:39
которую я показывал вам раньше верно Итак это вычисление которое в основном берёт входные токены здесь сверху и
1:57:46
выполняет эти операции со всеми этими нейронами и даёт вам ответ ности того
1:57:52
что будет дальше теперь важно понять что грубо говоря здесь по сути есть конечное
1:57:59
количество слоёв вычислений Итак например эта модель здесь имеет всего о 2Т слоя того что называется натяжением и
1:58:09
MLP возможно типичная современная Передовая сеть будет иметь больше скажем
1:58:15
100 слоёв или что-то в этом роде Но здесь всего 100 слоёв вычислений или что-то подобное чтобы перейти от
1:58:21
предыдущей последователь для следующего токена Итак здесь
1:58:26
происходит конечное количество вычислений для каждого отдельного токена и вы должны рассматривать это как очень
1:58:31
небольшое количество вычислений и это количество вычислений почти фиксировано для каждого отдельного токена в этой
1:58:39
последовательности на самом деле это не совсем так потому что чем больше токенов вы подаете тем дороже это становится
1:58:46
этот прямой проход будет происходить в этой нейронной но
1:58:52
рассматривать это и я думаю что это хорошая модель для понимания Это фиксированное количество вычислений
1:58:57
которое будет происходить в этом блоке для каждого отдельного токена и это количество вычислений не может быть
1:59:02
слишком большим потому что здесь не так много слоёв которые идут сверху вниз здесь не произойдёт много вычислений
1:59:09
Итак вы не можете представить себе модель которая могла бы выполнять произвольные вычисления за один прямой
1:59:15
проход чтобы получить один токен Итак что это означает так это то что нам
1:59:20
действительно нужно распределить на рассуждения и вычисления по многим токенам потому что каждый отдельный
1:59:26
токен тратит только конечное количество вычислений на это Итак мы как бы хотим
1:59:32
распределить вычисления по многим токенам и мы не можем ожидать слишком много вычислений от модели в любом
1:59:39
отдельном токене потому что на каждый токен приходится лишь ограниченное количество
1:59:44
вычислений хорошо здесь примерно фиксированное количество вычислений
1:59:51
Итак поэтому этот ответ здесь значительно хуже и причина этого в том Представьте что вы идёте слева направо
1:59:57
здесь и я вставил его прямо здесь ответ три и так далее Представьте
2:00:03
что модель должна двигаться слева направо выдавая эти токены по одному она должна сказать или мы ожидаем что она
2:00:10
скажет что ответ Это пробел долларовый знак а затем прямо здесь мы ожидаем что
2:00:16
она в основном сожт все вычисления этой задачи в этот единственный токен она додать
2:00:23
а затем как только мы выдали ответ ри мы ожидаем что она скажет все эти токены Но
2:00:28
на этом этапе Мы уже получили Ответ и это уже в контекстном окне для всех этих токенов которые следуют так что всё что
2:00:35
здесь сказано это просто своего рода послесловия оправдывающая почему это
2:00:40
ответ потому что ответ уже создан он уже в окне токенов Так что на самом деле это
2:00:46
здесь не вычисляется Итак если вы отвечаете на вопрос прямо и сразу вы обучается модель
2:00:53
пытаться угадать ответ в одном единственном токене и это просто Не сработает из-за конечного количества
2:00:59
вычислений которые происходят на token поэтому этот ответ справа
2:01:04
значительно лучше потому что мы распределяем это вычисление по всему ответу на самом деле мы заставляем
2:01:09
модель постепенно приходить к ответу слева направо мы получаем промежуточные результаты мы говорим хорошо общая
Повторное рассмотрение токенизации: модели испытывают трудности с правописанием
2:01:15
стоимость апельсинов 4 Так что 30 — 4 это 9 Итак мы создаём промежуточный
2:01:22
вычисления и каждое из этих вычислений само по себе не так уж и дорого Итак мы
2:01:27
на самом деле в некотором роде немного угадываем сложность с которой модель способна справляться в любом из этих
2:01:33
отдельных токенов и в этих токенах не может быть слишком много работы с точки зрения вычислений потому что тогда
2:01:40
модель не сможет сделать это позже во время тестирования Итак мы учим модель здесь
2:01:45
распределять своё рассуждение и вычисление по токенам и таким образом в каждом токене
2:01:51
у него только очень простые задачи и они могут накапливаться а затем к тому времени
2:01:56
когда дело близится к концу У него есть все предыдущие результаты в рабочей памяти и ему гораздо проще определить
2:02:03
что ответ — это три Так что Это значительно лучшая метка для наших
2:02:08
вычислений это было бы действительно плохо и это учит модель пытаться выполнять Все вычисления в одном
2:02:14
единственном токене это действительно плохо Итак это как бы похоже на интересная вещь которую стоит иметь в
2:02:20
виду это то что в ваших подсказках обычно вам не нужно думать об
2:02:26
этом явно потому что о у людей в Open есть маркировщик и так далее которые
2:02:31
действительно беспокоятся об этом и Они следят за тем чтобы ответы были распределены Итак на самом деле Open
2:02:37
будет как бы делать всё правильно Итак когда я задаю этот вопрос чат gpt он на самом деле будет двигаться очень
2:02:42
медленно это будет как хорошо давайте определим наши переменные настроим уравнени и это как бы создаёт все эти
2:02:48
промежуточные результаты это не для тебя это для если модель не создаёт эти промежуточные
2:02:55
результаты для себя она не сможет достичь трх я также Хотел показать вам что можно
2:03:01
быть немного жёстким с моделью мы просто можем просить о вещах Итак в качестве
2:03:06
примера я дал ему Точно такую же подсказку и сказал Ответь на вопрос в одном единственном токене Просто сразу
2:03:12
дай мне ответ ничего больше и оказывается что для этого простого Итак подсказка здесь на самом деле он с
2:03:20
сделать это с первого просто создал один я думаю это два токена верно потому что
2:03:25
знак доллара является собственным токеном Так что по сути эта модель не дала мне один токен она дала мне два
2:03:31
токена но он всё равно выдал правильный ответ и сделал это за один проход через
2:03:36
сеть теперь это потому что числа здесь я думаю очень простые и поэтому я сделал
2:03:42
их немного сложнее чтобы быть немного жёстким с моделью Итак я сказал что Эмили покупает 23 яблока и 177
2:03:49
апельсинов а потом я просто увеличил числа и я делаю Это сложнее для модели я прошу его сделать больше вычислений в
2:03:55
одном токене и я сказал то же самое а здесь Он дал мне пять опять на самом
2:04:00
деле неверно таким образом модель не смогла выполнить все эти вычисления за один проход через сеть она не смогла
2:04:07
перейти от входных токенов и затем за один проход через сеть пройти через сеть он не смог выдать результат И потом я
2:04:15
сказал Хорошо теперь не беспокойся о лимит токенов и просто Реши задачу как
2:04:20
обычно а потом он показывает все промежуточные результаты это упрощает и каждый из этих промежуточных результатов
2:04:27
и промежуточных вычислений Здесь гораздо проще для модели
2:04:33
и это не слишком много работы для каждого токена все токены здесь правильные и это приводит к пересмотрено
2:04:39
решению которое равно семи и она просто не могла уместить всю эту работу Она не могла уместить Это в одну пассивную сеть
2:04:46
Так что я думаю это довольно милый пример и что-то о чём Стоит подумать и я думаю это снова наглядно в том как
2:04:52
работают эти модели последнее что я хотел бы сказать по этой теме это то что
Неравномерный интеллект
2:04:57
если бы я на практике пытался действительно решить это в своей повседневной жизни Я возможно не стал бы
2:05:03
этому доверять модель которая правильно Выполняет все промежуточные вычисления здесь так что на самом деле вероятно я
2:05:08
бы сделал что-то вроде этого я бы пришёл сюда и сказал бы Используйте код и это потому что код — это один из возможных
2:05:16
инструментов которые может использовать чат gpt и вместо того чтобы делать
2:05:22
умственные вычисления как здесь я не полностью доверяю этому и особенно если числа становятся действительно большими
2:05:28
нет гарантии что модель сделает это правильно любой из этих промежуточных шагов может в принципе потерпеть неудачу
2:05:34
мы используем нейронные сети для выполнения умственных вычислений как будто вы делаете Это в своём мозгу это
2:05:39
может просто ну испортить Некоторые из промежуточных результатов на самом деле это довольно удивительно что он вообще
2:05:44
может делать такие умственные вычисления Я не думаю что смогу сделать это в уме но по сути модель как бы делает это в
2:05:50
уме И я этому не доверяю Так что я хотел использовать инструменты чтобы Вы могли говорить такие вещи как Используйте код
2:05:57
и я не уверен что там
2:06:04
произошло Итак м как я уже упоминал есть специальный инструмент и модель может
2:06:10
писать код и я могу проверить что этот код правильный и тогда она не полагается
2:06:15
на свои умственные вычисления он использует интерпретатор Python который является очень простым языком
2:06:21
програмирования чтобы в основном написать код который вычисляет результат и я бы лично этому доверял гораздо
2:06:28
больше потому что это вышла из программы на Python которая как мне кажется имеет гораздо больше гарантий правильности чем
2:06:35
умственные вычисления языковой модели Так что это ещё один потенциальный намёк что если у вас есть
2:06:41
такие проблемы Вы можете просто попросить модель использовать интерпретатор кода и как мы видели с
2:06:49
веб-поиск для вызова То есть он на самом деле не будет генерировать эти токены из языковой
2:06:55
модели он напишет программу а затем на самом деле отправит эту программу в другую часть компьютера на самом деле
2:07:02
это просто запускает эту программу и возвращает результат а затем модель получает доступ к этому результату и
2:07:07
может сказать вам что О’кей стоимость каждого яблока составляет Так что это ещё один вид
2:07:14
инструмента и я бы использовал это на практике для себя и это да это просто менее подвержен
2:07:22
ошибкам я бы сказал Вот почему я назвал этот раздел моделям нужны токены чтобы думать распределять свои вычисление по
От контролируемой тонкой настройки к обучению с подкреплением
2:07:29
многим токенам просите модели создавать промежуточные результаты или когда это возможно полагайтесь на инструменты и их
2:07:36
использование вместо того чтобы позволять моделям делать всё это в своей памяти Так что если они пытаются сделать
2:07:42
всё это в своей памяти не доверяйте этому полностью и старайтесь использовать инструменты когда это
2:07:47
возможно я хочу показать вам ещё один пример где это действительно проявляется и это связано с подсчётом Так что модели
2:07:54
на самом деле не очень хороши в подсчёте по той же самой причине вы просите слишком много в одном отдельном токене
2:08:00
Так что Позвольте мне показать вам простой пример этого Сколько точек внизу а потом я
2:08:06
просто добавил кучу точек и чат gpt говорит что есть и Затем он просто пытается решить задачу в одном токене
2:08:14
таким образом в одном токене ему нужно посчитать количество точек в его контекстном
2:08:19
окне и ему нужно сделать это за один проход вперёд через сеть и за один проход вперёд через сеть как мы уже
2:08:25
говорили там не так много вычислений которые могут происходить просто подумайте об этом как о очень небольшом
2:08:30
количестве вычислений которые там происходят Так что если я просто посмотрю на то что видит модель Давайте
2:08:36
перейдём к ЛМ перейдём к
2:08:50
токенизация это ни было это другой токен а потом по какой-то причине они разбиваются вот так так
2:08:56
что на самом деле это связано с деталями токенизация
2:09:21
и вы можете задаться вопросом почему это должно работать и на самом деле это довольно тонко и интересно Так что когда
2:09:26
я говорю использовать код я на самом деле ожидаю что это сработает Давайте посмотрим хорошо 177 это правильно Итак
2:09:34
что здесь происходит на самом деле Хоть это и не выглядит так я разбил проблему
2:09:40
на проблемы которые проще для модели Я знаю что модель не умеет считать она не
2:09:46
может считать в уме но я знаю что модель на самом деле довольно хорошо справляется с копированием ставкой Итак
2:09:52
что я делаю здесь когда говорю использовать код это создаёт строку в Python для этого и задача по сути
2:09:59
скопировать мой вод отсюдасюда очень проста потому что для модели Она видит эту строку как просто
2:10:08
эти четыре токена или что-то в этом роде поэтому для модели очень просто скопировать и вставить эти
2:10:14
идентификаторы токенов и как бы разложить их на точки
2:10:19
здесь Итак создаёт строку а затем вызывает метод do Count в Python и в
2:10:25
итоге получает правильный ответ Итак интерпретатор Python выполняет подсчёт это не умственная арифметика модели
2:10:31
которая выполняет подсчёт Итак это снова простой пример того что моделям нужны токены для мышления не
2:10:38
полагайтесь на их устные подсчёты и поэтому модели также не очень хорошо
2:10:43
умеют считать если вам нужно чтобы они выполняли задачи по подч всегда просите их полагаться на инструмент Теперь у
2:10:49
моделей также есть много других больших когнитивных недостатков Здесь и там и это своего рода острые углы технологий о
2:10:55
которых стоит быть в курсе со временем Итак в качестве примера модели не очень хорошо справляются со всеми видами задач
2:11:01
связанных с правописанием они не очень хорошо с этим справляются и я говорил вам что мы вернёмся к низации и причина
2:11:09
по которой это делается заключается в том что модели они не видят символы Они видят токены и весь их мир состоит из
2:11:16
токенов что это за маленькие текстовые фрагменты И поэтому они не видят символы так как это делают наши глаза и поэтому
2:11:22
очень простые задачи на уровне символов часто проваливаются Итак Например я передаю ему строку вездесущий и прошу
2:11:31
напечатать только Каждый третий символ начиная с первого Итак мы начинаем с U а
2:11:36
затем должны брать Каждый третий то есть каждый Итак 1 2 3 Q должен быть
2:11:42
следующим и так далее Итак это как я вижу неверно и снова моя гипотеза
2:11:48
заключается в том что здесь снова не срабатывает умственная арифметика номер один немного но номер два я думаю что
2:11:55
более важная проблема здесь в том что если вы зайдёте в ктор и если Вы посмотрите на вездесущий
2:12:01
мы увидим что это три токена верно Итак вы и я видим вездесущий и мы можем легко
2:12:06
получить доступ к отдельным буквам потому что мы как бы видим их когда они находятся в рабочей памяти нашего
2:12:12
визуального поля мы действительно легко можем индексировать каждую третью букву и я могу выполнить эту задачу но модели
2:12:20
не имеют доступа букм Они видят это как три токена и помните что эти модели
2:12:26
обучаются с нуля на Интернете и все эти токены в основном модели нужно выяснить
2:12:31
Сколько из всех этих разных букв упаковано во все эти разные токены и причина по которой мы вообще используем
2:12:37
токены в основном заключается в эффективности но я думаю что многим людям интересно полностью удалить токены
2:12:43
Нам действительно нужны модели на уровне символов или байтов просто это создаст очень длинные последовательности и люди
2:12:49
не знают как с этим справляться прямо се Итак пока у нас есть мир токенов любые задания на правописание как правило не
2:12:56
ожидается что будут работать очень хорошо поскольку я знаю что правописание не является сильной стороной из-за
2:13:01
токенизация Я могу снова попросить его полагаться на инструменты так что я могу просто сказать Используйте код и я снова
2:13:07
ожидаю что это сработает потому что задача копирования и вставки вездесущий в интерпретатор Python гораздо проще и
2:13:14
затем мы полагаемся на интерпретатор Python чтобы манипулировать символами этой строки Итак когда я говорю
2:13:21
Используйте Код вездесущий Да он индексирует каждую
2:13:28
третью букву а настоящая Правда в том что это uq qts что выглядит правильно
2:13:34
для меня итак ещё один пример того как задания на правописание не работают Очень хорошо Очень известный пример
2:13:41
этого недавно сколько букв R в слове Клубника и это становилось вирусным много раз и в основном модели теперь
2:13:48
понимают это правильно говорят что в слове клубника три буквы р но очень долгое время все самые современные
2:13:54
модели настаивали на том что их только две и это вызвало много знаете шума потому что это слово я так думаю потому
2:14:02
что это просто как бы Почему модели такие Блестящие и могут решать задачи математической олимпиады но они не могут
2:14:09
например посчитать буквы р в слове Клубника и ответ на это опять же в том что я не могу медленно к этому подойти
2:14:15
но во-первых модели не видят символы Они видят токены а во-вторых они не очень
2:14:20
хороши подсчёте Итак здесь мы объединяем трудность восприятие символов с
2:14:26
трудностью подсчёта и вот почему модели испытывали трудности с этим Хотя я думаю
2:14:31
что к этому моменту Честно говоря я возможно жёстко закодировал Ответ здесь или я не уверен что они сделали но э но
2:14:38
этот конкретный запрос теперь работает Так что модели не очень хороши в
Обучение с подкреплением
2:14:44
правописании и есть ещё куча других мелких острых углов и я не хочу углубляться во всё это я просто хочу
2:14:50
показать вам неско несколько примеров вещей о которых стоит помнить Когда вы используете эти модели на практике на
2:14:55
самом деле я не хочу проводить всесторонний анализ всех способов которыми модели как бы не дотягивают я
2:15:02
просто хочу подчеркнуть что здесь и там есть некоторые острые углы и мы обсудили несколько из них и некоторые из них
2:15:08
имеют смысл но некоторые просто не будут иметь такого смысла и они как бы ваши левые чешите голову даже если вы глубоко
2:15:15
понимаете как работают эти модели и хороший пример этого недавно следующее
2:15:21
модели не очень хороши в очень простых вопросах как этот и это шокирует многих людей Потому что эти проблемы могут
2:15:28
решать сложные математические задачи они могут отвечать на вопросы уровня PHD вопросы по физике химии там биологии
2:15:35
гораздо лучше чем я но иногда они не справляются с как бы супер простыми задачами как это Итак поехали 911 больше
2:15:43
чем 99 и это как-то оправдывает это но очевидно в конце хорошо на самом деле
2:15:48
оно меняет своё решение позже Так что Эм я не верю что это очень
2:15:54
воспроизводимое свой ответ иногда даёт правильный ответ А иногда ошибается м Давайте попробуем
2:16:03
снова хорошо Хотя это может выглядеть больше хорошо Так что здесь Оно даже не
2:16:08
исправляет себя в конце если спросить много раз иногда оно тоже даёт правильный ответ но как так получается
2:16:14
что модель может так хорошо справляться с задачами уровня олимпиады но затем проваливается на очень простых задачах
2:16:20
как это и я думаю что это как я уже упоминал немного заставляет почесать голову
2:16:26
оказывается что группа людей изучала это в глубину и я на самом деле не читал статью Но то что мне сказали эта команда
2:16:33
это то когда Вы внимательно изучаете активации внутри нейронной сети Когда вы
2:16:39
смотрите на некоторые функции и на то какие функции включаются или выключаются и какие нейроны активируются или де
2:16:45
активируется несколько нейронов внутри нейронной сети активируется которые обычно ассоциируется с библейскими
2:16:52
стихами Итак я думаю что модель как бы напоминает что эти почти выглядят как
2:16:58
маркеры библейских стихов и в контексте библейских стихов 911 будет идти после
2:17:03
де де и по сути модель каким-то образом находит это как бы с когнитивной точки
2:17:08
зрения очень отвлекающим что в стихах Библии 911 было бы
2:17:14
лучше Хотя здесь она на самом деле пытается это оправдать и прийти к ответу с помощью математики ВТО она вс
2:17:21
неправильный ответ Так что это в общем просто не совсем имеет смысл и это не совсем понятно
2:17:28
и есть несколько таких зазубренный моментов Вот почему стоит рассматривать это как то чем оно является А именно как
2:17:35
стохастической систему которая действительно волшебно но которой также нельзя полностью доверять и вы хотите
2:17:41
использовать это как инструмент а не как что-то что вам просто нравится Пусть это сработает над задачей и скопируйте
2:17:47
результаты Итак мы теперь рассмотрели два основных этапа обучения больших языковых моделей мы видели что на первом
2:17:54
этапе который называется этапом предварительного обучения Мы в основном обучаемся на интернет-дома И когда вы
2:18:01
обучается языковую модель на интернет-дома вы получаете то что называется базовой моделью и это по сути
2:18:06
симулятор интернет документов верно Теперь мы увидели что это интересный артефакт и на его обучение уходит много
2:18:14
месяцев на тысячах компьютеров и это своего рода сжатие информации из интернета с потерями и это чрезвычайно
2:18:20
интересно но это не совсем полезно напрямую потому что мы не хотим просто брать образцы интернет документов мы
2:18:25
хотим задавать вопросы и и получать ответы на наши вопросы поэтому Нам нужен
2:18:31
ассистент и мы увидели что на самом деле можем создать Ассистента в процессе пост
2:18:38
обучения а именно в процессе контролируемой до настройки как мы это
2:18:44
называем Итак На этом этапе мы увидели что он алгоритмически идентичен предварительному обучению ничего не
2:18:51
Единственное что меняется — Это набор данных Поэтому вместо интернет документов мы теперь хотим создать и
2:18:56
курировать очень хороший набор данных разговоров поэтому мы хотим миллионы
2:19:02
разговоров на самые разные темы между человеком и помощником и в конечном итоге эти
2:19:09
разговоры создаются людьми Итак люди пишут подсказки а люди верно идеальные
2:19:15
ответы и они делают это на основе разметки документации теперь в современном стеке
2:19:21
это не делается полностью и вручную людьми верно на самом деле Теперь у них есть много помощи от этих инструментов
2:19:27
Таким образом мы можем использовать языковые модели чтобы помочь нам создать эти наборы данных и мы Тестируем их
2:19:33
обширно но в конечном итоге всё это всё равно исходит от человеческого творчества Итак мы создаём эти разговоры
2:19:39
Которые теперь становятся нашим набором данных мы дооб Буча модель на них или продолжаем обучение и мы получаем
2:19:45
помощника а затем немного сменили тему и начали говорить о некоторых когнитивных последствиях
2:19:51
того каким является этот помощник и мы увидели что например помощник будет
2:20:00
галлюцигения а затем мы рассмотрели некоторые меры по смягчению этих галлюцинаций и затем мы увидели что
2:20:07
модели довольно впечатляющие и могут делать много вещей в своей голове но мы увидели что они также могут опираться на
2:20:12
инструменты чтобы стать лучше так что например мы можем опираться на веб-поиск Чтобы меньше
2:20:19
люци во чтобы получить какую-то более свежую информацию или что-то в этом роде
2:20:24
или мы можем опираться на такие инструменты как интерпретатор кода чтобы модель могла написать какой-то код И на
2:20:30
самом деле выполнить его и увидеть результаты Итак это Некоторые из тем
2:20:35
которые мы рассмотрели до сих пор теперь я хотел бы обсудить последний и основной этап этого процесса а именно
2:20:43
обучение с подкреплением Итак обучение с подкреплением ВС ещ считается Стью
2:20:50
обучения Но это последний третий основной этап и это другой способ
2:20:56
обучения языковые модели и обычно это третий шаг Итак внутри таких компаний
2:21:01
Как openai вы начнёте здесь это всё отдельные команды Итак есть команда занимающаяся данными для
2:21:07
предварительного обучения и команда занимающаяся обучением для предварительного обучения а затем есть
2:21:13
команда которая занимается генерации всех разговоров в другой команде это своего рода supervised funing и также
2:21:19
будет команда для обучения с подкреплением Итак это своего рода передача этих моделей вы получаете
2:21:25
базовую модель затем дооб её чтобы она стала помощником а потом переходите к обучению с подкреплением о чём мы сейчас
2:21:32
и поговорим Так что это своего рода основной поток Итак давайте теперь сосредоточимся на обучении с
2:21:38
подкреплением последнем основном этапе обучения и Позвольте мне сначала объяснить почему мы хотели бы заняться
2:21:45
обучением с подкреплением и как это выглядит на высоком уровне Итак я хотел бы сейчас попытаться объяснить Зачем
2:21:51
нужен этап обучения с подкреплением и к чему он соответствует с чем-то с чем вы вероятно знакомы а именно с тем что
2:21:57
такое по сути ходить в школу так что как вы ходили в школу чтобы стать действительно хорошим в чём-то Мы хотим
2:22:02
провести большие языковые модели через школу и на самом деле что мы делаем
2:22:08
Это где у нас есть несколько парадигм способов передачи им знаний или
2:22:15
навыков Итак в частности когда мы работаем с учебниками в школе вы увидите
2:22:21
что в этих учебниках есть три основных типа информации три класса информации
2:22:26
первое что вы увидите — это много изложения Кстати это совершенно случайная книга которую я взял из
2:22:32
интернета Я думаю это что-то вроде органической химии или что-то в этом роде Я не уверен но важная вещь в том
2:22:38
что вы увидите что большая часть текста большая его часть — это по сути изложение это своего рода фоновое знание
2:22:45
и так далее Когда вы читаете слова этого изложения Вы можете думать об этом
2:22:50
примерно так обучение на этих данных и вот почему когда вы читаете всё
2:22:57
это это фоновое знание и вся эта контекстная информация это своего рода эквивалент
2:23:11
предобзор который вы увидите это задачи и их
2:23:18
решения таким образом сути человеческий Эксперт в данном случае автор этой книги предоставил нам не только задачу но и
2:23:25
проработал решение а решение по сути эквивалентно тому чтобы иметь идеальный ответ для
2:23:31
помощника таким образом По сути Эксперт показывает нам как решить задачу и это
2:23:36
как бы в своём полном виде Итак Когда мы читаем решение мы по сути обучаемся на
2:23:43
данных эксперта а затем Позже Мы можем попытаться имитировать
2:23:49
эксперта и по сути Это примерно соответствует наличию модели sft Вот что она будет
2:23:57
делать итак по сути мы уже провели
2:24:04
предоброе стадия обучение с подкреплением — это по сути практические задачи Иногда вы увидите что здесь всего
2:24:12
лишь одна практическая задача Но конечно в конце каждой главы в любом учебнике обычно будет много практических задач и
2:24:19
практические задачи конечно критически важны для обучения потому что что они заставляют вас делать они заставляют
2:24:26
вас практиковаться и находить способы решения этих задач самостоятельно Итак в практической
2:24:33
задаче вы получаете описание проблемы Но вам не дают решения Однако вы получаете
2:24:38
окончательный ответ обычно в ключе ответов учебника Итак вы знаете
2:24:44
окончательный ответ к которому вы пытаетесь прийти и у вас есть формулировка задачи но у вас нет решения
2:24:50
вы пытаетесь практиковать решение Вы пробуете много разных подходов и смотрите Что приводит вас к
2:24:55
окончательному решению к лучшему и таким образом вы открываете для себя как
2:25:00
решать эти задачи и в процессе этого вы полагаете во-первых на фоновую информацию которая приходит из
2:25:08
предобрый имитацию человеческих экспертов и вы вероятно можете попробовать подобные решения и так далее
2:25:16
Итак мы сделали это и это а теперь в этом разделе мы попробуем попрактиковаться
2:25:21
Итак Нам будут даны подсказки Нам будут даны решения Извините окончательные
2:25:27
ответы но нам не будут даны экспертные решения нам нужно практиковаться и пробовать разные вещи и вот О чём речь в
2:25:34
обучении с подкреплением Хорошо давайте вернёмся к задаче с которой мы работали ранее
2:25:40
просто чтобы у нас был конкретный пример о котором мы можем поговорить пока исследуем эту тему итак я здесь в техни потому что мне
2:25:49
также тело бы получаю текстовое поле Что полезно но во-вторых я хочу напомнить вам снова что мы всегда работаем с
2:25:55
одномерными последовательностями токенов Итак мне на самом деле больше нравится этот вид потому что это как бы родной
2:26:01
вид для ЛМ если это имеет смысл Вот что он на самом деле видит он видит идентификаторы токенов верно хорошо Итак
2:26:08
Эмили покупает три яблока и два апельсина каждый апельсин стоит 2 доллара общая стоимость всех фруктов
2:26:16
составляет 13 долларов сколько стоит каждое яблоко и что я хотел бы чтобы вы оценили здесь
2:26:22
это это четыре возможных кандидат решения в качестве примера и все они приходят к ответу три
2:26:29
сейчас что я хотел бы отметить на этом этапе так это то что если я человек который помечает данные и создаёт
2:26:35
разговор который будет добавлен в обучающий набор на самом деле я не совсем знаю
2:26:40
какой из этих разговоров чтобы добавить в набор данных
2:26:47
Некоторые из этих разговоров как бы устанавливают систему уравнений Некоторые из них просто обсуждают это на
2:26:52
английском а некоторые из них просто как бы пропускают всё и сразу переходят к
2:26:58
решению Если Вы посмотрите на чаче пяти например и зададите ему этот вопрос он
2:27:03
определяет систему переменных и он как бы делает Вот это маленькое действие что нам нужно оценить и
2:27:09
различить так это то первая цель решения это достичь правильного ответа Конечно мы хотим
2:27:16
получить окончательный ответ важная часть здесь есть основная цель но
2:27:22
также есть и второстепенная цель Где мы находимся также мы пытаемся сделать это приятным для человека потому что мы как
2:27:28
бы предполагаем что человек хочет увидеть решение они хотят видеть промежуточные шаги Мы хотим представить
2:27:34
Это красиво и так далее Итак здесь происходят две отдельные вещи Первое — это представление для человека но второе
2:27:40
мы пытаемся на самом деле получить правильный ответ Итак давайте сосредоточимся просто
2:27:46
на том чтобы достичь ответа если нас интересует только окончательный
DeepSeek-R1
2:27:51
ответ то какой из этих вариантов является оптимальным или как бы лучшим
2:27:57
запросом Извините Какое лучшее решение для ЛМ Чтобы достичь правильного
2:28:03
ответа И к чему я пытаюсь подвести так это к тому что мы не знаем Я как человек
2:28:09
метчик не знаю какой из этих вариантов лучший Итак в качестве примера мы видели ранее когда смотрели
2:28:16
на последовательности токенов здесь и умственные вычисления и рассуждения мы видели что для каждого токена мы можем
2:28:23
потратить по сути конечное количество конечное количество вычислений здесь которое не очень велико или вы должны
2:28:29
подумать об этом таким образом Итак мы не можем На самом деле сделать слишком Большой скачок в любом из них токен это
2:28:35
возможно способ как об этом подумать Так что в качестве Примера в этом случае что действительно хорошо так это то что
2:28:41
здесь очень мало токенов так что нам потребуется Очень немного времени чтобы получить ответ но вот здесь когда мы
2:28:48
делаем 13 мину 4 де 3 ра прямо в этом токене мы на самом деле просим Чтобы
2:28:54
произошло много вычислений на этом одном отдельном токене и возможно это плохой
2:28:59
пример который можно дать ЛМ потому что он как бы побуждает его быстро пропускать вычисления И на самом деле
2:29:05
это делать ошибки в своих умственных вычислениях Так что возможно будет лучше
2:29:10
если мы распределить это более равномерно возможно будет лучше представить Это в виде уравнения
2:29:17
возможно будет лучше обсудить это мы в принципе не знаем И мы не знаем потому
2:29:23
что то что легко Для вас или для меня или как для людей метчиков что легко для нас или трудно для нас отличается Так
2:29:30
что же легко или трудно для ЛМ его когниция отличается а последовательности
2:29:36
токенов для него как бы разные трудные и
2:29:42
поэтому некоторые из последовательности токенов здесь которые для меня тривиальные могут
2:29:47
быть слишком Большой скачок для м так что вот здесь этот токен будет слишком
2:29:53
сложным но наоборот многие из токенов которые Я создаю здесь могут быть просто тривиальным для ЛМ и мы просто тратим
2:30:01
токены зачем тратить все эти токены когда это всё тривиально так что если Единственное что
2:30:06
нас интересует — это достижение окончательного ответа и мы отделяем вопрос представлени для человека Тогда
2:30:13
тогда мы на самом деле не знаем как аннотирование дать ЛМ потому что мы не
2:30:18
являемся ЛМ и это очевидно здесь в случае с математическим примером Но это на самом
2:30:24
деле очень распространённая проблема наши знания не равны знаниям ЛМ
2:30:30
у м на самом деле огромное количество знаний связанных с докторской степенью в математике физике химии и так далее
2:30:36
таким образом во многих отношениях он на самом деле знает больше чем я и я возможно не использую эти знания в
2:30:41
решении задач но Наоборот я могу вводить в свои решения кучу знаний которых М не
2:30:47
знает в своих параметрах это как внезапные скачки которые очень сбивают модель с толку и поэтому наши
2:30:55
когниции разные и я на самом деле не знаю что сюда вставить Если всё что нас интересует это достижение окончательного
2:31:02
решения и сделать это экономично в идеале Итак коротко говоря мы не в
2:31:07
хорошей позиции чтобы создать эти последовательности токенов для м и они полезны благодаря имитации для
2:31:14
инициализации системы номы действительно хотим чтобы
2:31:20
токенов которые ему подходят ему нужно самостоятельно найти
2:31:26
Какая последовательность токенов надёжно приводит к ответу учитывая подсказку ему нужно открыть это в
2:31:32
процессе обучения с подкреплением и методом проб и ошибок Итак давайте посмотрим как этот пример будет работать
2:31:39
в обучении с подкреплением Итак мы снова в игровом пространстве для
2:31:46
вывода это позво моделей Так что в качестве примера здесь
2:31:52
в правом верхнем углу Я выбрал модель гема модель с 2 миллиардами параметров Итак 2 млрд — это очень-очень мало Итак
2:31:58
это маленькая модель Но это нормально Итак мы собираемся дать ей способ
2:32:04
которым будет работать обучение с подкреплением на самом деле довольно прост нам нужно попробовать много разных
2:32:11
решений и мы хотим увидеть какие решения работают хорошо а какие нет Итак мы по
2:32:17
сути возьмём подсказку запустим модель и модель генерирует
2:32:23
решение а затем мы собираемся проанализировать решение и мы знаем что правильный ответ на этот вопрос 3 и
2:32:30
действительно модель даёт правильный ответ Она говорит что это 3 доллара Итак это правильно Итак это всего лишь одна
2:32:37
попытка решения Теперь мы собираемся это удалить и запустить снова Давайте попробуем второй раз Итак модель решает
2:32:45
это немного по-другому верно каждая попытка будет представлять собой другое поколение Потому что эти модели являются
2:32:52
Стаха ческими системами помните что для каждого токена У нас есть распределение вероятностей и мы выбираем из этого
2:32:58
распределения Таким образом мы в итоге Идём по немного другим путям Итак это второе решение которое
2:33:04
также приводит к правильному ответу Теперь мы это удалим Давайте попробуем в третий
2:33:10
раз Хорошо это снова немного другое решение но оно также правильная Теперь мы можем на самом деле
2:33:17
повторить это много раз Итак на практике Вы можете на самом деле получить тысячи независимых решений или даже миллион
2:33:25
решений для одной единственной подсказки и некоторые из них будут правильными а некоторые будут не совсем
2:33:31
правильными и в основном что мы хотим сделать так это поощрять решения которые приводят к правильным ответам Итак
2:33:39
давайте посмотрим как это выглядит Итак если мы вернёмся сюда вот как бы карикатур диаграмма того как это
2:33:45
выглядит у нас есть подсказка и затем мы Повали Рени
2:33:51
параллельно и некоторые из решений могут сработать хорошо и Они получают
2:33:56
правильный ответ который обозначен зелёным А некоторые из решений могут оказаться неудачными и не достичь
2:34:02
правильного ответа который обозначен красным теперь Э проблема здесь к сожалению не самый лучший пример потому
2:34:08
что это тривиальная подсказка И как мы видели даже модель с двух миллиардами параметров всегда даёт правильный ответ
2:34:14
Так что в этом смысле это не самый лучший пример но Давайте просто немного пофантазируйте
2:34:20
предположим что зелёные хорошие а красные
2:34:26
плохие хорошо Итак мы сгенерировать 15 решений и только Четыре из них дали
2:34:32
правильный ответ Итак теперь что мы хотим сделать это в основном поощрять
2:34:38
такие решения которые приводят к правильным ответам Итак Какие бы последовательности токенов не
2:34:44
встречались в этих красных решениях очевидно что-то пошло не так это бы луши Рени
2:34:50
и какие бы последовательности токенов ни были в этих зелёных решениях Ну в этой ситуации всё Прошло довольно хорошо Итак
2:34:58
мы хотим делать больше подобных вещей в таких подсказках и способ которым мы
2:35:03
поощряем такое поведение в будущем заключается в том что мы в основном обучаемся на этих
2:35:08
последовательностях Но эти обучающие последовательности теперь не поступают от опытных человеческих
2:35:19
Итак модель здесь практикуется она попробовала несколько решений Четыре из них похоже сработали и теперь модель
2:35:26
будет как бы обучаться на них и Это соответствует тому что студент по сути смотрит на свои решения и говорит хорошо
2:35:32
это решение сработало очень хорошо Вот как я должен решать такие проблемы и вот
2:35:40
в этом примере есть много разных способов действительно немного подкорректировать методологию но чтобы
2:35:45
донести основную идею возможно проще всего просто подумать о том взять единственное лучшее решение из
2:35:52
этих четырёх например вот это вот почему оно было жёлтым Итак это решение которое не
2:35:58
только дало правильный ответ но возможно имело и другие приятные свойства может быть оно было самым коротким или
2:36:05
выглядело лучше всего В каком-то смысле или есть другие критерии которые можно рассмотреть в качестве примера но мы
2:36:11
решим что это лучшее решение и будем обучаться на НМ и затем модель будет
2:36:16
немного более склонна как только Обновите параметры чтобы выбрать этот путь в таком
2:36:23
контексте в будущем но вы должны помнить что мы будем запускать множество
2:36:28
различных разнообразных запросов по множеству математических и физических задач и всего что только может быть Итак
2:36:35
десятки тысяч запросов возможно иметь в виду что на каждый запрос есть тысячи
2:36:40
решений Итак всё это происходит как бы одновременно и пока мы итеративности
2:36:50
токенов приводит е к правильным ответам это не исходит от человека
2:36:55
антара модель как бы играет на этой площадке и знает к чему Она стремится и
2:37:01
она открывает последовательности которые работают для неё это последовательности которые не
2:37:06
делают никаких умственных Скачков Они похоже работают надёжно и
2:37:13
статистически и полностью используют знания модели как они есть прония
2:37:20
подкреплением это по сути метод проп и ошибок мы будем угадывать множество различных типов решений проверять их и в
2:37:26
будущем будем делать больше того что сработало и это есть обучение с
2:37:31
подкреплением Итак в контексте того что было сказано ранее мы теперь видим что модель sft модель контролируемой до
2:37:38
обучения всё ещё полезна потому что она как бы немного инициализирует модель вблизи правильных
2:37:44
решений Так что это как бы инициализация модель в том смысле что
2:37:50
она как бы заставляет модель вы знаете находить решение например записывать решения и возможно у неё есть понимание
2:37:56
того как составить систему уравнений или возможно она как бы проговаривает решение таким образом это приводит вас к
2:38:03
правильным решениям Но именно в обучении с подкреплением всё настраивается мы действительно открываем решения которые
2:38:09
работают для модели получая правильные ответы мы их поощряем и затем модель как бы со временем Становится
2:38:15
лучше Итак это общий процесс того как мы обучаем языковые модели Короче говоря мы
2:38:22
обучаем их довольно Похоже на то как мы обучаем детей и по сути единственное Отличие в том что дети проходят главы
2:38:29
книг и выполняют все эти разные типы тренировочных упражнений как бы в рамках каждой главы книги но вместо этого когда
2:38:37
мы обучаем и это почти как если бы мы делали это поэтапно в зависимости от типа этого этапа Сначала мы проводим
2:38:44
предварительное обучение которое как мы видели эквивалентно по сути чтению всего экспозиционно
2:38:50
Итак мы смотрим на все учебники одновременно читаем всю экспозицию и пытаемся построить базу
2:38:56
знаний второе что мы делаем Это переходим к этапу сфт который на самом деле заключается в том чтобы рассмотреть
2:39:03
все фиксированные решения от человеческих экспертов все различные виды готовых решений из всех учебников и
2:39:12
мы просто получаем модель которая способна имитировать экспертов Но делает это как бы вслепую
2:39:19
лучшую догадку как бы просто пытаясь статистически имитировать поведение эксперта и вот что вы получаете когда
2:39:26
смотрите на все готовые решения а затем наконец на последнем этапе мы решаем все практические задачи
2:39:32
на этапе л во всех учебниках мы только решаем практические задачи и Вот так мы
2:39:37
получаем модель л таким образом на высоком уровне способ которым мы готовим магистров права во многом эквивалентен
2:39:44
процессу которому мы обучаем который мы используем для обучения детей следующий момент который я хотел бы отметить это
2:39:50
то что на самом деле эти первые два этапа предварительное обучение и контролируемая доработка существуют уже
2:39:56
много лет и они очень стандартные и все Их используют все разные поставщики больших языковых моделей именно этот
2:40:03
последний этап обучения л находится на гораздо более ранней стадии своего развития и ещё не является стандартом в
2:40:09
этой области и поэтому этот этап находится на гораздо
2:40:15
более ранней и а зарождающейся стадии и причина этого в том что я на самом
2:40:21
деле пропустил кучу мелких деталей в этом процессе высшая идея очень проста это обучение методом проб и ошибок но
2:40:27
здесь есть куча деталей и мелких математических нюансов Как именно вы выбираете лучшие решения и Сколько
2:40:32
времени вы на них тренируетесь А что такое распределение подсказок и как настроить процесс обучения так чтобы это
2:40:38
действительно работало Так что есть Много мелких деталей и настроек к основной идее которая очень-очень проста
2:40:45
Итак правильно проработать детали здесь не просто Итак многие компании например
2:40:50
Open ai и другие поставщики больших языковых моделей уже какое-то время экспериментируют внутри компании с
2:40:57
обучением с подкреплением и доработкой для больших языковых моделей но они не
2:41:02
говорили об этом публично всё это делается внутри компании и вот почему
2:41:07
статья от пси которая вышла совсем недавно была такой важной потому что эта статья от компании deeps ai в Китае и в
2:41:15
этой статье действительно очень открыто говорилось о доработке использованием обучения с подкреплением для больших
2:41:21
языковых моделей и как это невероятно важно для больших языковых моделей и как
2:41:27
это раскрывает множество способностей к рассуждению в моделях мы разберёмся с этим Через секунду Итак эта статья
2:41:34
возродила общественный интерес к использованию обучения с подкреплением для больших языковых моделей И
2:41:40
предоставила множество мелких деталей которые необходимы для воспроизведения результатов и фактически для того чтобы
2:41:47
этот этап заработал для больших язы моделе Итак Позвольте мне Кратко рассказать вам об этой статье R1 и о том
2:41:54
что происходит когда вы действительно правильно применяете обучение с подкреплением две языковые модели и как
2:41:59
это выглядит и что это вам даёт Итак первое к чему я
AlphaGo
2:42:18
прокручування математических задачах которые здесь измеряются Итак это простые математические задачи Вы можете
2:42:24
приостановить видео Если хотите Но это те виды задач которые по сути модели должны решать и вы можете видеть что в
2:42:30
начале они не очень хорошо справляются но затем по мере обновления модели с помощью тысяч шагов их точность
2:42:36
продолжает расти Итак модели улучшаются и они решают эти задачи с большей точностью
2:42:43
Когда вы проводите этот процесс проб и ошибок на Большом наборе данных таких задач и модели открывают как решать
2:42:49
математические задачи Но даже более удивительным чем количественные результаты решения этих
2:42:56
задач с большей точностью является качественный способ которым модель достигает этих результатов Итак когда мы
2:43:03
прокручиваем вниз одна из интересных фигур здесь заключается в том что позже в процессе
2:43:08
оптимизации модель похоже начинает использование средней длины
2:43:14
ответа увеличивается Итак модель похоже использует больше токенов Чтобы достичь более высокой точности Итак она учится
2:43:21
создавать очень-очень длинные решения Почему эти решения такие длинные мы можем рассмотреть их качественно здесь в
2:43:29
общем что они обнаруживают так это то что решение модели становятся очень-очень длинными частично потому что
2:43:34
вот вопрос и вот как бы ответ от модели что модель учится делать И это является
2:43:40
возникающим свойством новой оптимизации она просто обнаруживает что это хорошо что касается решения задач она начинает
2:43:46
делать что-то вроде этого подожди подожди подожди это момент Ага который я могу отметить здесь Давайте
2:43:52
переоценили Какой может быть правильный итог Итак что модель делает здесь верно модель по сути переоцениваешь
2:43:59
что для повышения точности лучше пробовать множество идей Попробуй
2:44:05
Взглянуть на это с разных точек зрения вернуться назад переосмыслить отследить
2:44:10
она делает Много из того что ты и я делаем в процессе решения математических задач но она заново открывает то что
2:44:16
происходит у тебя в голове а не то что ты запис ше и нет человека который мог бы жестко
2:44:22
закодировать это в идеальном ответе ассистента это можно открыть только в процессе обучения с подкреплением потому
2:44:29
что ты не знал бы что сюда вставить это просто оказывается эффективным для модели и Это улучшает её точность в
2:44:35
решении задач Итак модель учится тому что мы называем цепочками мыслей в твоей голове
2:44:41
и это является возникающим свойством оптимизации и именно это раздувает длину
2:44:47
ответов ноже точность решения зада Так что удивительно здесь что модель по сути
2:44:53
открывает способы мышление она учится тому что я люблю называть когнитивными стратегиями как ты манипуру проблемой и
2:45:01
как подходишь к ней с разных точек зрения как ты используешь аналогии или делаешь разные вещи и как ты пробуешь
2:45:07
множество различных подходов со временем проверяешь результат с разных ракурсов И как ты решаешь проблемы Но здесь это как
2:45:14
бы открыто с помощью irl так невероятно видеть как это возникает в процессе оптимизации не прибегая к
2:45:21
жёсткому кодированию Единственное что мы ей дали — это правильные ответы и это происходит из попыток просто решить их
2:45:27
правильно что невероятно Теперь давайте вернёмся к
2:45:33
проблеме над которой Мы работали и посмотрим как она будет выглядеть для такого рода модели то что
2:45:40
мы называем рассуждением или моделью мышления для решения этой проблемы Итак помните что это проблема Над которой Мы
2:45:46
работали И когда я вставил это Т gpt 4.0 Я получил вот такой ответ Давайте
2:45:52
посмотрим что происходит когда вы задаёте тот же запрос так называемой модели рассуждения или мышление это
2:45:58
модель которая была обучена с помощью обучения с подкреплением Итак эта модель описанная в этой статье
2:46:04
dpc car1 доступна на Chat dc.com Так что это как бы компания которая его
2:46:10
разработала хости его Ты должен убедиться что кнопка Deep включена чтобы получить модель R1 как её называют мы
2:46:18
можем ставить это сюда и запустить Итак давайте посмотрим что происходит сейчас И каков вывод модели
2:46:25
хорошо Вот что он говорит Итак это то что мы получили ранее используя в основном подход СФ подход с
2:46:32
контролируемым дооб это похоже на имитацию решения эксперта вот что мы получаем от модели л Хорошо давайте
2:46:39
попробую разобраться с этим Итак Эмили покупает три яблока и два апельсина каждый апельсин стоит 2 доллара Итого 13
2:46:45
долларов Мне нужно выяснить бла-бла-бла Итак здесь
2:46:50
Когда вы это читаете вы не можете не думать что эта модель думает Она определённо стремится к
2:46:58
решению она выводит что это должно стоить 3 доллара и затем она говорит Подождите секунду дайте-ка мне ещё раз
2:47:03
проверить свои расчёты чтобы быть уверенный а затем она пытается Взглянуть на это с немного другой точки зрения и
2:47:08
затем она говорит Да всё это сходится Я думаю что это ответ я не вижу никаких ошибок Давайте посмотрим есть ли другой
2:47:15
способ подойти к этой задаче возможно составив уравнение Давайте предположим что стоимость одного
2:47:21
яблока составляет 8 долларов затем бла-бла-бла Да тот же ответ Так что определённо каждое яблоко стоит 3
2:47:28
доллара Хорошо я уверен что это правильно а затем Что она делает Как только это сделано процесс мышления
2:47:34
заключается в том что она формулирует красивое решение для человека Итак теперь это рассматривается Итак это
2:47:41
больше о правильности А это больше о презентации где она как бы красиво записывает Это и обводит правильный
2:47:47
ответ в рамку внизу Итак что невероятно в этом так это то
2:47:52
что мы получаем этот процесс мышления модели и это происходит благодаря процессу обучения с
2:47:58
подкреплением вот что увеличивает длину последовательности токенов они размышляют и пробуют разные
2:48:04
подходы это то что даёт вам более высокую точность в решении задач и вот здесь мы видим эти моменты
2:48:11
озарения и эти разные стратегии и эти идеи о том как вы можете убедиться что
2:48:16
получаете правильный ответ последний момент который я хочу отметить это то что некоторые люди немного
2:48:22
нервничают по поводу того чтобы вводить знаете Очень чувствительные данные на чат epsc потому что это китайская
Обучение с подкреплением на основе обратной связи от людей (RLHF)
2:48:28
компания поэтому люди не делают этого э люди немного осторожны и насторожены по
2:48:34
этому поводу M deeps R1 — это модель выпущенная этой компанией Так что это
2:48:39
открытая модель или модель с открытыми весами она доступна для всех чтобы скачать и использовать вы не сможете как
2:48:47
бы запустить его в полном объёме в полной точности вы не сможете запустить это на
2:48:53
Macbook или на локальном устройстве потому что это довольно большая модель но многие компании хотят полную версию
2:49:00
самой большой модели одна из тех компаний которые мне нравятся называется Together ai Итак Когда Вы заходите на
2:49:06
Together ai вы регистрируетесь и переходите в playgrounds Вы можете выбрать здесь В чате deeps R1 и здесь
2:49:14
есть много других моделей которые вы можете выбрать все эти модели являются передовыми Так что это похоже на
2:49:19
площадку для инса hing Face с которой мы играли до сих пор но Together A обычно
2:49:24
стит все передовые модели Итак выберите Deer 1 Вы можете попытаться игнорировать
2:49:30
Многие из них я думаю что настройки по умолчанию часто будут в порядке и мы можем это вставить и поскольку модель
2:49:37
была выпущена deeps то то что вы получаете здесь должно быть в основном эквивалентно тому что вы получаете здесь
2:49:43
теперь из-за случайности выборки мы получим что-то немного другое но в принципе Это должно быть идентично с
2:49:50
точки зрения мощности модели и вы должны быть в состоянии увидеть те же вещи Как количественно так и качественно но эта
2:49:57
модель поступает от американской компании Итак это псе и это то что
2:50:03
называется моделью рассуждения теперь когда я вернусь к чату давайте я перейду к чату здесь Итак
2:50:10
модель которую вы увидите в выпадающем списке здесь Некоторые из них такие как 0 03 мини 03 мини высокая и так далее
2:50:17
говорят о том что они использует продвинутое рассуждение Теперь когда речь идёт о том что это использует
2:50:23
продвинутое рассуждение Это относится к тому что модель была обучена с помощью обучения с подкреплением с техниками
2:50:29
очень похожими на те что использовались в deeps R1 по публичным заявлениям сотрудников Open ai Итак это модели
2:50:36
мышления обученные с помощью обучения с подкреплением и такие модели как gpt 40 или gpt 40 Mini которые вы получаете в
2:50:43
бесплатном тарифе Вы должны рассматривать их в основном как Модели sft Модели с контролируемой до обучения
2:50:49
они на самом деле не занимаются таким мышлением как вы видите в моделях л и Даже несмотря на то что в этих моделях
2:50:55
Есть немного обучение с подкреплением и я объясню это через секунду в основном это модели sft Я думаю вам стоит
2:51:02
рассматривать это именно так таким же образом как мы видели здесь мы можем выбрать одну из моделей мышления
2:51:07
например 03 мини высокая и эти модели кстати могут быть недоступны для вас
2:51:13
Если вы не оплатите подписку стоимостью либо 20 долларов в месяц либо 200 долларов в месяц за Некоторые из лучших
2:51:20
моделей Итак мы можем выбрать модель мышления и запустить теперь здесь
2:51:25
произойдёт следующее он скажет рассуждение и он начнёт делать что-то вроде этого
2:51:31
и то что мы видим здесь не совсем то что мы видим здесь Итак Даже несмотря на то
2:51:37
что под капотом модель производит эти всякие цепочки размышлений Open решает не показывать
2:51:45
точные цепочки размышлений в веб интерфейсе он показывает небольшие резюме этих цепочек размышлений и openi
2:51:52
я думаю делает это отчасти потому что они беспокоятся о том что называется риском дистилляции то есть кто-то мог бы
2:51:58
прийти и на самом деле попытаться имитировать эти цепочки рассуждений и восстановить Много из того что связано с
2:52:03
производительностью рассуждений Просто подражая этим цепочка размышлений И поэтому они как бы скрывают их и
2:52:09
показывают только небольшие резюме Так что вы не получаете именно то что получили бы в дисик в отношении самого
2:52:16
рассуждения а потом они записывают решение Так что это как бы эквивалентно
2:52:22
Даже несмотря на то что мы не видим всех деталей под капотом теперь что касается производительности эти модели и модели
2:52:29
dips в настоящее время примерно на одном уровне я бы сказал сложно сказать из-за оценок Но если вы платите 200 долларов в
2:52:35
месяц за открытый и некоторые из этих моделей Я полагаю в настоящее время они в основном всё ещё выглядят лучше но R1
2:52:43
на данный момент всё ещё является очень надёжным выбором для модели мышления это будет доступно вам
2:52:49
м как бы либо на этом сайте либо на любом другом сайте потому что у модели открытые веса Вы можете просто скачать
2:52:57
это Итак это модели мышления Итак каков итог на данный момент Ну мы говорили о
2:53:06
подкрепляют в процессе оптимизации когда мы по сути запускаем RL на многих математических и кодовых
2:53:13
задачах которые имеют проверяемые решения так что есть например ответ три и так далее
2:53:19
теперь эти модели мышления Вы можете получить например в dips или у любого провайдера вывода такого как Together ai
2:53:26
и выбрать псе там эти модели мышления также доступны в Chat gpt под любыми из моделей 01 или
2:53:33
03 Но эти модели gpt 40 и так далее они не являются моделями мышления Вы должны
2:53:39
рассматривать их в основном как модель sft теперь так что если вы Если у вас
2:53:44
есть Запрос который требует продуманного рассуждения вам лучше использовать модели мышления или по крайней мере Попробуйте их но эмпирически для многих
2:53:52
моих случаев когда вы задаёте более простой вопрос например вопрос на основе знаний или что-то в этом роде это может
2:53:57
быть избыточным нет необходимости думать 30 секунд над каким-то фактическим вопросом поэтому для этого я иногда
2:54:03
просто использую gpt 4.0 Итак эмпирически около 80-90 про моего использования — это просто gpt 4.0 И
2:54:10
когда я сталкиваюсь с очень сложной задачей например в математике или кодировании и так далее Я обращаюсь к
2:54:15
моделям мышления Но тогда мне нужно немного дольше потому что они думают Так что вы можете получить к ним
2:54:22
доступ в чат gpt Насик также я хотел отметить что udio
2:54:29
google.com даже если это выглядит очень загружено очень некрасиво потому что Google просто не в состоянии делать
2:54:35
такие вещи Ну что происходит но если вы выберете модель и выберете здесь gini
2:54:41
2.0 Flash thinking experimental 021 Если вы выберете эту это тоже своего
2:54:47
рода ра Экспериментальный модель мышления от Google Итак мы можем зайти сюда и задать ту же задачу а затем
2:54:54
нажать запустить И это тоже задача на мышление модель мышления которая также сделает что-то
2:55:00
подобное и даёт правильный ответ здесь в общем гени также предлагает модель
2:55:05
мышления в данный момент анрок не предлагает модель мышления но в общем это своего рода Передовая разработка
2:55:12
этих больших языковых моделей Я думаю что л — это как бы новая захватывающая стадия но правильно проработать детали
2:55:19
сложно и вот почему все эти модели и модели мышления в настоящее время являются экспериментальными на начало
2:55:25
2025 года но это своего рода Передовая разработка направленная на улучшение
2:55:30
производительности в решении этих очень сложных задач используя рассуждения которые возникают в этих оптимизация ещё
2:55:36
одно соединение о котором я хотел упомянуть — это то открытие того что обучение с подкреплением является
2:55:42
чрезвычайно мощным способом обучения не ново для области ии и одно из мест где
2:55:47
мы уже продемонстрирован это игра И как известно Deep разработала
2:55:53
систему alp Go и вы можете посмотреть фильм об этом где система учится играть в игру го
2:56:00
против лучших человеческих игроков и когда мы переходим к
2:56:06
статье в основе АФ Go Так что в этой статье когда мы прокручиваем
2:56:12
вниз мы на самом деле находим действительно интересный сюжет то я думаю нам это как-то знакомо
2:56:20
и мы как бы заново открываем это в более открытой области произвольного решения задач вместо того чтобы оставаться в
2:56:26
закрытой специфической области игры го но в общем то что они увидели и мы увидим это в больших языковых моделях
2:56:32
когда они станут более зрелыми это то это рейтинг эла для игры в Go А это
2:56:38
лиси доль чрезвычайно сильный игрок и здесь они сравнивают силу модели
2:56:44
обученной с помощью контролируемого обучения и модели обученной с помощью обучения с
2:56:49
подкреплением таким образом модель контролируемого обучения имитирует человеческих экспертов игроков Так что
2:56:55
если вы просто соберёте огромное количество партий сыгранных экспертами в игре го и попытаетесь их имитировать вы
2:57:01
станете лучше но затем вы достигнете предела и никогда не станете значительно лучше чем Некоторые из лучших лучших
2:57:08
игроков в игру го таких как Лис и доль Так что вы никогда не достигнете этого уровня потому что вы просто
2:57:18
просто имитирует человеческих игроков но в процессе обучения с подкреплением оно значительно более мощное в обучении с
2:57:25
подкреплением для игры в Go Это означает что система делает ходы которые эмпирически и статистически
2:57:32
приводят к победе в игре Итак alp Go — это система которая как бы играет сама с
2:57:38
собой и она использует обучение с подкреплением для создания развёртывании Итак это точно такая же
2:57:45
диаграмма но здесь нет подсказки просто потому что здесь нет подсказки Это просто фиксированная игра в го но она
2:57:53
пробует множество решений она пробует множество ходов а затем игры которые
2:57:58
приводят к победе вместо конкретного ответа получают подкрепление они становятся сильнее
2:58:06
Итак система по сути изучает последовательности действий которые эмпирически и статистически приводят к
2:58:12
победе в игре и обучение с подкреплением не будет ограничено человеческими возможностями и обучение с подкреплением
2:58:19
может добиться значительно лучших результатов и превзойти даже таких топовых игроков как
2:58:25
Лидо Итак Наверное они могли бы запустить это дольше но просто решили обрезать в
2:58:31
какой-то момент потому что это стоит денег Но это очень мощная демонстрация обучения с подкреплением и мы только
2:58:38
начинаем видеть намёки на эту диаграмму в больших языковых моделях для зада
2:58:43
рассуждения так что мы не пром далеко про эв выйти за рамки этого создать
2:58:49
такие маленькие игровые среды и позволить системе обнаруживать следы
2:58:55
рассуждений или способы решения проблем которые Уникальны и это просто
2:59:02
хорошо работает теперь касаясь аспекта уникальности Обратите внимание что когда
2:59:07
вы занимаетесь обучением с подкреплением ничто не мешает вам отклоняться от распределения того как люди играют в
2:59:14
игру Итак когда Мы возвращаемся к этому поиску alp Go одно из предложенных
2:59:19
изменений называется ход 37 и ход 37 в афга относится к
2:59:24
конкретному моменту времени когда Альфа по сути сделал ход который ни один
2:59:30
человеческий Эксперт не стал бы делать Итак вероятность того что этот ход будет сделан человеческим игроком была оценена
2:59:37
примерно в один из 10.000 Так что это очень редкий ход но оглядываясь назад Это был блестящий ход таким образом
2:59:44
альго в процессе обучения с подкреплением обнаружил некую стратегию игры которая была неизвестна людям но
2:59:51
оглядываясь назад она оказалась блестящей Я рекомендую это видео на Ютюбе реакции и анализ хода 30 сдем Лис
2:59:59
доля против Альфа го и вот как это выглядело когда Альфа го сделал этот ход
3:00:04
а ценность это очень неожиданный
3:00:10
ход Я думал что это ошибка когда я вижу этот ход в любом
3:00:17
случае В общем люди как-то в панике потому что это ход который человек бы не сделал Альфа го его сделал потому что в
3:00:26
в процессе обучения этот ход казался хорошей идеей просто это не то что люди обычно делают Итак это снова сила
3:00:33
обучение с подкреплением и в принципе мы действительно можем увидеть эквивалентность этого если мы продолжим
3:00:39
масштабировать эту парадигму в языковых моделях и как это выглядит В общем неизвестно Итак
3:00:49
обм даже люди не смогли бы их решить как ты можешь быть лучше в рассуждениях или мышлении чем люди как можно выйти за
3:00:56
рамки просто мыслящего человека может быть это означает
3:01:01
открытие аналогии которые люди не смогли бы создать или может быть это как новая стратегия мышления сложно это
3:01:08
осмыслить может быть это совершенно новый язык который даже не является
3:01:13
английским может быть открывает свойствен яз кой
3:01:20
потому что модель не ограничена даже придерживаться английского Так что возможно она выбирает другой язык для мышления или
3:01:27
открывает свой собственный язык таким образом в принципе поведение системы гораздо менее определено он открыт для
3:01:34
всего что работает и также открыт для того чтобы медленно отклоняться от распределения своих обучающих данных
3:01:40
которые являются английским но всё это можно сделать только если у нас есть очень большой и
3:01:46
разнообразный набор задач в которых эти стратегии могут быть отточенный часть границы исследования
3:01:54
больших языковых моделей которые сейчас проводятся пытаются создать такие распределения подсказок которые были бы
3:01:59
большими и разнообразными всё это своего рода игровые среды в которых большие языковые модели могут практиковать своё
3:02:05
мышление и это похоже на написание знаешь этих практических задач нам нужно
3:02:11
создать практические задачи для всех областей знаний и если у нас есть
3:02:16
практические задачи и их много модели смогут обучаться с помощью подкрепления учиться на них и как бы создавать такие
3:02:24
диаграммы но в области открытого мышления вместо закрытой области такой как игра в Go есть ещё один раздел в
3:02:31
обучении с подкреплением который я хотел бы обсудить и это обучение в непроверяемых
3:02:36
областях Итак до сих пор все проблемы которые мы рассматривали находятся в так называемых проверяемых областях то есть
3:02:43
любое кандидат нае решение мы можем очень легко оценить по сравнению с конкретным ответом
3:02:48
Так что например ответ три и мы можем очень легко оценить эти решения по сравнению с ответом Т Либо мы требуем от
3:02:55
моделей чтобы они как бы заключали свои ответы в рамке а затем просто проверяем совпадает ли то что в рамке с ответом
3:03:03
или вы также можете использовать то что называется судьёй ЛМ Итак судья ЛМ
3:03:08
смотрит на решение получает ответ и по сути оценивает решение на предмет его соответствия ответу или нет и большие
3:03:15
языковые модели эмпирически достаточно хороши на текущем уровне возможностей чтобы делать Это довольно надёжно Таким
3:03:21
образом мы также можем применять такие техники в любом случае у нас есть конкретный ответ и мы просто проверяем
3:03:27
решение по сравнению с ним и мы можем делать это автоматически без участия людей Проблема в том что мы не можем
3:03:34
применить стратегию в так называемых непроверяемых областях обычно это Например творческие задания такие как
3:03:40
написать шутку о пелих или написать стихотворение или подвести итог абзацу
3:03:45
или что-то в этом роде ких областях это становится сложнее чтобы оценить наши разные решения этой
3:03:51
проблемы так например написание шутки о пеликанах мы можем сгенерировать много разных шуток Конечно это нормально
3:03:58
например Вы можете зайти на шипт и мы можем заставить его сгенерировать шутку О
3:04:04
пеликанах так много всего в их клюва потому что они не верят в рюкзаки
3:04:10
Что хорошо мы можем попробовать что-то другое почему пеликаны никогда не платят
3:04:17
за свои напитки потому что они всегда выставляют счёт кому-то другому ха-ха иначе ха-ха хорошо эти модели очевидно
3:04:25
Не очень хороши в юморе на самом деле я думаю это довольно увлекательно потому что я считаю что Юмор на самом деле
3:04:31
очень сложен и у моделей как мне кажется нет такой способности в любом случае Вы можете представить как можно создать
3:04:37
много шуток проблема с которой мы сталкиваемся заключается в том как нам их оценить теперь в принципе мы могли бы
3:04:43
конечно попросить человека посмотреть на все эти шутки также как я сделал это
3:04:48
Проблема в том что если вы занимаетесь обучением с подкреплением вам придется делать много тысячи обновлений и для
3:04:55
каждого обновления вы хотите рассматривать скажем тысячи подсказок и для каждой подсказки вы возможно
3:05:00
захотите рассмотреть сотни или тысячи различных вариантов генерации и поэтому их просто слишком
3:05:06
много чтобы на всё это смотреть Итак в принципе Вы могли бы попросить человека
3:05:12
просмотреть все эти шутки оценить их и решить что возможно э шутка смешная А это смешная тоже смешная и мы могли бы
3:05:20
обучить их чтобы модель стала немного лучше в шутках по крайней мере в контексте
3:05:27
пеликанов проблема в том что это занимает слишком много времени у людей это стратегия которую невозможно
3:05:32
масштабировать нам нужна какая-то автоматическая стратегия для этого и одно из решений этой проблемы было
3:05:37
предложено в этой статье которая Представила то что называется обучением с подкреплением на основе человеческой
3:05:43
обратной связи Итак это была статья от Open в то время и многие из этих людей
3:05:48
сейчас являются соучредителем анрок и это предложило подход для
3:05:53
выполнения обучения с подкреплением в непроверяемых областях Давайте посмотрим
3:05:59
как это работает Итак это карикатур ная диаграмма основных идей которые здесь задействованы Итак как я уже упоминал
3:06:04
наивный подход заключается в следующем Если бы у нас было бесконечное количество человеческого времени мы могли бы просто запускать обучение с
3:06:11
подкреплением в этих областях без проблем и так например мы можем запускать обучение с подкреплением как
3:06:16
обычно Если бы у меня было бесконечное количество людей я бы просто хотел сделать И это всего лишь условные цифры
3:06:22
я хочу сделать 1.000 обновлений где каждое обновление будет касаться тысячи подсказок и для каждой подсказки у нас
3:06:28
будет тысячи запусков которые мы будем оценивать Так что мы можем запускать
3:06:33
обучение с подкреплением С такой настройкой Проблема в том что в процессе этого мне
3:06:39
нужно будет попросить человека оценить Шутку в общей сложности 1 млрд раз Итак
3:06:44
это много людей которые смотрят на действительно ужасные шутки поэтому мы не хотим этого делать Поэтому
3:06:50
вместо этого мы хотим использовать подход rhf Итак в подходе RF мы как бы говорим что
3:06:58
основной трюк — это косвенно Итак мы будем вовлекать людей лишь немного и
3:07:05
способ которым мы обманываем систему заключается в том что мы в основном обучаем совершенно отдельную нейронную
3:07:10
сеть которую мы называем моделью вознаграждения и эта нейронная сеть будет как бы имитировать оценки людей
3:07:17
Так мы собираемся попросить людей оценить запуски затем мы будем имитировать оценки людей с помощью
3:07:24
нейронной сети и эта нейронная сеть станет своего рода симулятором человеческих предпочтений И теперь когда
3:07:30
у нас есть симулятор нейронной сети мы можем проводить обучение с подкреплением против него Итак вместо того чтобы
3:07:37
спрашивать настоящего человека спрашиваем У симулировать
3:07:47
что мы можем запрашивать его столько раз сколько захотим и это полностью автоматизированный процесс И теперь мы
3:07:53
можем проводить обучение с подкреплением относительно симулятора и симулятор Как вы могли ожидать не будет идеальным
3:07:59
человеком но если он хотя бы статистически похож на человеческие суждения то можно ожидать что это что-то
3:08:05
даст и на практике это действительно так Итак как только у нас есть симулятор мы можем проводить обучение с подкреплением
3:08:12
и всё работает отлично Позвольте мне показать вам мультяшную диаграмму немного того как выглядит этот процесс
3:08:17
Хотя детали не являются супер важно Это просто основная идея того как это работает Итак здесь у меня есть
3:08:23
мультяшная диаграмма гипотетического примера того как будет выглядеть обучение модели вознаграждения Итак у
3:08:29
нас есть запрос Например напиши шутку про пеликанов а затем У нас есть пять отдельных запусков Итак это всё пять
3:08:35
разных шуток точно так же как это теперь первое что мы сделаем это
3:08:41
попросим человека упорядочить эти шутки от лучшей к худшей Итак Этот человек
3:08:48
считает что эта шутка лучшая самая смешная Итак номер один
3:08:53
шутка Это шутка номер два шутка номер три четыре и пять Итак это самая плохая
3:08:58
шутка Мы просим людей упорядочить шутки вместо того чтобы давать оценки напрямую потому что это немного проще человеку
3:09:06
проще упорядочить чем дать точные оценки теперь это и есть надзор для
3:09:11
модели Итак человек упорядочил их и это как бы их вклад в процесс обучения но теперь отдельно что мы
3:09:18
собираемся сделать так это попросить модель вознаграждения о её оценке этих
3:09:24
шуток теперь модель вознаграждения — Это совершенно отдельная нейронная сеть полностью отдельная
3:09:30
нейросеть и Вероятно это тоже трансформер но это не языковая модель в том смысле что она генерирует
3:09:36
разнообразный язык и так далее Это просто модель оценки Итак модель вознаграждения будет
Предварительный обзор будущих разработок
3:09:43
принимать на вход запрос во-первых и во-вторых кандидатскую шутку Итак это
3:09:49
два входа которые поступают в модель вознаграждения Итак здесь например модель вознаграждения будет принимать
3:09:54
этот запрос и эту шутку теперь выход модели вознаграждения — это одно число и
3:10:01
это число рассматривается как оценка и оно может варьироваться например от ноли до одни Итак Ноль — это самая низкая
3:10:07
оценка а один — самая высокая Итак вот несколько примеров того какие оценки
3:10:13
гипотетическая модель вознаграждения на каком-то этапе процесса обучения могла бы дать этим Шуткам Итак 01 — это очень
3:10:21
низкая оценка 0,8 — это действительно высокая оценка и так далее Итак Теперь мы сравниваем оценки данные моделью
3:10:28
вознаграждения с порядком установленным человеком и есть точный
3:10:34
математический способ на самом деле это рассчитать в основном настроить функцию потерь и рассчитать своего рода
3:10:41
соответствия здесь и обновить модель на основе этого но я просто хочу дать вам интуицию которая заключается в том
3:10:47
в качестве примера для этой второй шутки человек посчитал что она самая смешная и модель как бы согласилась верно 08 — это
3:10:55
относительно высокая оценка но эта оценка должна была быть ещё выше верно Итак после обновления мы бы ожидали что
3:11:01
возможно оценка должна была бы вырасти после обновления сети чтобы быть скажем 081 или что-то в этом
3:11:08
роде в этом случае они действительно находится в огромном разногласие потому что человек Думал что это номер д но
3:11:15
здесь оценка всего 0 эта оценка должна быть намного выше Итак после обновления на фоне
3:11:21
такого рода надзора это может вырасти гораздо больше например может быть это 0,15 или что-то в этом
3:11:28
роде А здесь человек думал что эта шутка Там самая плохая но модель на самом деле
3:11:34
дала ей довольно высокое число Так что вы могли бы ожидать что после обновления это снизится до может быть 3 С5 или
3:11:40
что-то в этом роде В общем мы делаем то же самое что и раньше мы немного корректируем предсказание моделей
3:11:47
используя процесс обучения нейронной сети и мы пытаемся сделать так чтобы
3:11:52
оценки модели вознаграждения соответствовали порядку установленному человеком
3:11:59
Итак По мере того как мы обновляем модель вознаграждения на основе человеческих данных она становится всё
3:12:05
лучшим и лучшим симулятором оценок и порядков которые предоставляют люди а
3:12:10
затем она становится чем-то вроде симулятором человеческих предпочтений против которого мы можем
3:12:16
затем применять но важно отметить что мы не просим людей 1 млрд раз оценить шутку Мы возможно
3:12:22
рассматриваем 1.000 подсказок и пять развёртывании для каждой из них так что возможно всего 5.000 шуток которые люди
3:12:28
должны оценить и они просто дают порядок а затем мы обучаем модель быть последовательной с этим порядком и Я
3:12:34
пропускаю математические детали но я просто хочу чтобы вы поняли основную идею что э модель вознаграждения по сути
3:12:41
даёт нам этот курс и у нас есть способ обучить её быть последовательной с человеческими порядками
3:12:47
и вот как работает Шеф хорошо это общее представление по сути мы обучаем
3:12:53
симуляторы людей и применяем RL относительно этих симуляторов теперь я хочу поговорить во-первых о
3:12:59
преимуществах обучения с подкреплением на основе человеческой обратной
3:13:04
связи первое что стоит отметить это то что это позволяет нам применять обучение с подкреплением которое как мы знаем
3:13:11
является невероятно мощным набором техник и это позволяет нам делать это в произвольных областях включая те которые
3:13:17
возможно проверить Так что такие вещи как резюмирование написание стихов написание шуток или любое другое
3:13:22
творческое письмо действительно в областях выходящих за рамки математики и кода и и так Да теперь эмпирически что
3:13:29
мы видим когда на самом деле применяем ЛФ так это то что это способ улучшить производительность
3:13:35
модели У меня есть лучший ответ на вопрос почему это может быть так но на самом деле я не знаю это как бы очень
3:13:42
хорошо обосновано почему это так вы можете эмпирически наблюдать что когда вы правильно меняете ч модели который вы
3:13:48
получаете просто немного лучше но что касается причины Я думаю что это не так уж и ясно Итак вот моё
3:13:55
лучшее предположение моё лучшее предположение заключается в том что это возможно в основном связано с разрывом
3:14:01
между дискриминатором И генератором что это означает так это то что в многих случаях людям значительно
3:14:07
проще различать чем генерировать Так что в частности пример этого заключается в
3:14:13
том когда мы проводим контролируемую достройку
3:14:19
мы просим людей сгенерировать идеальный ответ ассистента и во многих случаях как
3:14:24
я уже показал идеальный ответ очень просто написать но в многих случаях это
3:14:30
может быть не так так что например в резюмирование или написани стихов или шуток Как вы как человеческий оценщик
3:14:39
предполагается получить идеальный ответ в этих случаях для этого требуется творческое человеческое письмо Итак ч
3:14:46
как бы обходит это потому что мы можем задавать людям значительно более простой вопрос в качестве
3:14:52
оценщиков данных их не просят писать стихи напрямую Им просто дают пять
3:14:57
стихотворений от модели и их просят упорядочить их И поэтому это просто гораздо более простая задача для
3:15:03
человеческого оценщика и я думаю что это позволяет вам по сути сделать
3:15:08
следующее это как бы позволяет много более точных данных потому что мы не
3:15:13
просим людей выполнять задачу генерации которая может быть через чайно сложный мы не просим их заниматься творческим
Отслеживание развития LLM
3:15:20
письмом мы просто пытаемся заставить их различать творческие произведения и находить те которые лучшие и это тот
3:15:28
сигнал который предоставляют люди просто упорядочивание и это их вклад в систему
3:15:33
а затем система в нашем Шеф просто находит те виды ответов которые будут
3:15:39
хорошо оценены людьми Итак Этот шаг косвенно позволяет моделям становиться ещё лучше так что
3:15:47
это положительная сторона rlf это позволяет нам запускать л это эмпирически приводит к лучшим моделям и
3:15:53
это позволяет людям вносить свой вклад в их контроль даже не прибегая к выполнению чрезвычайно сложных задач в
3:16:01
случае написания идеальных ответов К сожалению также имеет значительные недостатки
3:16:08
Итак основной недостаток в том что по сути мы занимаемся обучением с подкреплением не в отношении людей и
3:16:14
реального человеческого суждения а в отношении искаженной симуляции людей верно и эта искажённая симуляция может
3:16:21
вводить в заблуждение потому что это всего лишь симуляция верно Это просто языковая модель которая как бы выдаёт
3:16:27
оценки и она может не идеально отражать мнение реального человека с настоящим мозгом во всех возможных разных случаях
3:16:34
Итак это номер один на самом деле происходит нечто ещё более тонкое и коварное что действительно сильно влияет
3:16:40
на то как мы воспринимаем мир сдерживает нашего позднего шефа как технику которую
3:16:45
мы действительно можем ровать до значительно более умных систем и это то
3:16:53
что обучение с подкреплением чрезвычайно хорошо справляется с тем чтобы находить способ обмануть модель обмануть
3:16:59
симуляцию Итак эта модель вознаграждения которую мы здесь строим которая даёт эти
3:17:04
оценки эти модели Трансформеры эти трансформеры — это огромные нейронные сети у них миллиарды
3:17:11
параметров и они имитируют людей но они делают это как бы в симуляционного режиме теперь проблема в том что это
3:17:18
огромные сложные системы верно здесь миллиард параметров которые выдают единственную
3:17:24
оценку оказывается есть способы обмануть эти модели Вы можете найти различные
3:17:29
виды входных данных которые не входили в их обучающий набор И эти входные данные
3:17:35
необъяснимо получают очень высокие оценки Но это происходит фальшивым образом
3:17:40
Итак очень часто что вы обнаруживаете Если вы запускаете rhf очень долго
3:17:46
Например если мы сделаем сся обновлений что скажем это много обновлений Вы могли бы ожидать что ваши
3:17:51
шутки становятся лучше и что у вас появляются настоящие хиты про пеликанов Но на самом деле это не совсем так что
3:17:58
происходит так это то в первые несколько сотен шагов шутки про пеликанов вероятно
3:18:03
немного улучшаются а потом они на самом деле резко падают с обрыва и вы начинаете получать совершенно
3:18:08
бессмысленные результаты например вы начинаете получать лучшая шутка про
3:18:13
пеликана начинает звучать как как как как как И это не имеет смысла верно Когда вы на
3:18:19
это смотрите почему это должна быть лучшая шутка но когда вы берёте и вставляете это в свою модель
3:18:25
вознаграждения вы бы ожидали оценку ноль Но на самом деле модель вознаграждения обожает это как шутку она скажет Вам что
3:18:32
э оценка составляет 1 0 это лучшая шутка и это не имеет смысла
Где найти LLM
3:18:39
верно но это Потому что эти модели просто симуляции людей и они огромные нейронные сети и вы можете найти входные
3:18:45
данные внизу которые как бы попадают в ту часть входного пространства которое даёт вам бессмысленные результаты эти
3:18:52
примеры называются противоречивыми примерами и я не собираюсь углубляться в эту тему слишком сильно но это
3:18:58
противоречивые входные данные для модели это специфические маленькие входные данные которые как бы проникают между
3:19:04
щелями и углублениями модели и дают бессмысленные результаты на выходе теперь вот что вы могли бы представить
3:19:10
себе сделать вы говорите хорошо э э э Это явно не оценка один Это явно низкая
3:19:16
оценка Итак давайте возьмём э э э э э Давайте добавим это в набор данных и зададим ему порядок это крайне плохо как
3:19:23
оценка пять и действительно ваша модель научится что да да да да должна иметь очень низкий балл И она даст ей оценку
3:19:30
ноль Проблема в том что в модели всегда будет в принципе бесконечное количество бессмысленных противоречивых примеров
3:19:36
скрывающихся внутри Если вы будете повторять этот процесс много раз и продолжать добавлять бессмысленные вещи
3:19:43
в вашу модель вознаграждения давая им очень низкие оценки вы никогда не выиграете в этой игре Вы можете делать
3:19:49
это много-много раз и обучение с подкреплением если его запускать Достаточно долго всегда найдёт способ
3:19:55
обмануть модель она обнаружит противоречивые примеры и будет получать действительно высокие оценки с
3:20:00
бессмысленными результатами и в конечном итоге Это происходит потому что наша функция
3:20:06
оценки — это гигантская нейронная сеть и обучение с подкреплением очень хорошо
3:20:12
находит способы её обмануть Итак м
3:20:17
Короче говоря Вы всегда запускаете llf может быть несколько сотен обновлений модель Становится лучше а
3:20:23
затем Вы должны обрезать её и на этом все вы не можете слишком долго работать
3:20:29
с этой моделью вознаграждения потому что оптимизация начнёт её обманывать и вы по
3:20:35
сути обрезается её завершаете и отправляете
3:20:40
и вы можете улучшить модель вознаграждения но в какой-то момент вы всё равно столк с такими ситуациями
3:20:47
Итак rhf в основном что я обычно говорю это то что rhf — это не RL и что я имею в
3:20:54
виду так это то что шеф — это очевидно л но это не л в волшебном смысле это не л
3:21:00
который можно запускать бесконечно такие проблемы как получение конкретного правильного ответа не так
3:21:06
легко обмануть вы либо получили правильный ответ либо нет а функция оценки гораздо гораздо проще вы просто
3:21:12
смотрите на выделенную область и проверяете правильный ли результат поэтому очень сложно обмануть эти
3:21:17
функции но обмануть модель вознаграждения возможно теперь в этих проверяемых
3:21:23
областях Вы можете запускать RL бесконечно Вы можете запускать это десятки тысяч сотни тысяч шагов и
3:21:29
обнаруживать всевозможные действительно безумные стратегии о которых мы Возможно даже никогда не подумаем отлично
3:21:35
справляясь со всеми этими задачами в игре го нет способа обмануть выигрыш или
3:21:41
проигрыш в игре У нас есть идеальный симулятор мы знаем все разные
Общее резюме
3:21:47
Где расположены все камни и мы можем рассчитать выиграл кто-то или нет нет способа это обмануть Итак вы можете
3:21:53
делать RL бесконечно и в конечном итоге вы даже сможете победить Лизу dol Но с
3:21:59
такими моделями которые можно обмануть вы не можете повторять этот процесс бесконечно поэтому я как бы вижу ЛФ как
3:22:07
не совсем настоящий RL потому что функция вознаграждения поддаётся обману Так что это скорее похоже на небольшую
3:22:13
до настройку это небольшое это небольшое улучшение но это не то что
3:22:18
изначально настроено правильно Где вы можете вставить больше вычислить работать дольше и получить гораздо
3:22:24
лучшие и волшебные результаты Так что это не л в этом смысле это не РЛ и в том
3:22:31
смысле что в нём не хватает магии он может донать вашу модель и добиться лучшей производительности и
3:22:38
действительно если мы вернёмся к CH G5 модель gpt 40 прошла через rhf потому
3:22:44
что она работает хорошо Но это просто нерал в том же смысле ll — это как
3:22:50
небольшая до настройка которая немного улучшает вашу модель это возможно как я бы об этом подумал хорошо это большая
3:22:56
часть технического содержания которую я хотел обсудить я провёл вас через три основных этапа и парадигмы обучения этих
3:23:02
моделей предварительное обучение контролируемая до настройка и обучение с подкреплением и я показал вам что они В
3:23:09
некоторой степени соответствуют процессу который мы уже используем для обучения детей Итак в частности Мы говорили о
3:23:14
предварительном обучении как приобретении знаний похожем на чтение экспозиция контролируемая до настройка —
3:23:21
это процесс изучения множества примеров с решениями и подражания экспертам а также решение практических задач
3:23:28
единственное Отличие в том что теперь нам нужно эффективно писать учебники для LMS и ии по всем дисциплинам
3:23:36
человеческого знания и также во всех случаях когда мы действительно хотели бы чтобы они работали например в коде и
3:23:42
математике и знаете в принципе во всех остальных дисциплинах Итак мы находимся
3:23:47
в процессе написания учебников для них уточняя все алгоритмы которые я представил на высоком уровне а затем
3:23:53
конечно нужно действительно действительно хорошо выполнять обучение этих моделей в больших масштабах и эффективно Так что в частности я не
3:24:00
углублялся в слишком много деталей Но это чрезвычайно большие и сложные распределённые
3:24:08
системы работы которые должны выполняться на десятках тысяч а то и сотнях тысяч ГПУ и инженерия которая
3:24:15
стоит за этим действительно находится на переднем крае того что возможно с компьютерами такого масштаба Так что я
3:24:22
не углублялся в этот Аспект слишком сильно но это очень серьёзное начинание лежащее
3:24:29
в основе всех этих очень простых алгоритмов в конечном итоге теперь А я
3:24:35
также немного говорил о теории разума о некоторых аспектах этих моделей и главное что я хочу чтобы вы запомнили
3:24:40
это то что эти модели действительно хороши но они чрезвычайно полезны как инструменты для вашей работы вы должны
3:24:46
полностью им доверять и я показал вам несколько примеров этого Хотя у нас есть меры по снижению галлюцинации модели не
3:24:52
идеальны и они всё равно будут
3:25:01
галлюциноз Кроме того я затронул то что я называю моделью возможности ЛМ в виде швейцарского сыра которую вам стоит
3:25:08
держать в голове модели невероятно хороши в стольких разных дисциплинах но
3:25:13
при этом Иногда просто случайно дают сбой в некоторых уникальных случаях Итак
3:25:18
например что больше 911 или 99 модель не знает но одновременно она может развернуться и решить задачи Олимпиады
3:25:26
Итак это дыра в швейцарском сыре Их много и вы не хотите на них споткнуться так что
3:25:32
не не рассматривайте эти модели как безошибочный проверяйте их работу Используйте их как инструменты
3:25:39
Используйте их для вдохновения Используйте их для первого черновика но Работайте с ними как с инструментами и в
3:25:46
конечном итоге нести ответственность за знаете это результат вашей работы и это
3:25:52
в общем то о чём я хотел поговорить вот как они обучаются и вот что они из себя
3:25:58
представляют Теперь давайте перейдём к тому Какие будущие возможности у этих моделей вероятно появятся а также Где вы
3:26:04
можете найти эти модели У меня есть несколько ключевых моментов о том чего вы можете ожидать в
3:26:10
будущем первое что вы заметите это то что модели очень быстро станут мультимодальные о м говорил выше
3:26:16
касается текста но очень скоро у нас будут ЛМ которые смогут не только обрабатывать текст но и работать нативно
3:26:23
и очень легко по аудио чтобы они могли слышать и говорить а также по изображениям чтобы они могли видеть и
3:26:30
рисовать и мы уже видим начало всего этого но всё это будет происходить нативно внутри языковой модели и это
3:26:38
позволит вести что-то вроде естественных разговоров и грубо говоря причина по которой это на самом деле не отличается
3:26:44
от всего что мы обсуждали выше заключается в том что в качестве базового уровня Вы можете тонизировать
3:26:50
аудио и изображение и применяйте точно такие же подходы ко всему о чём мы говорили выше Так что это не
3:26:56
фундаментальное изменение это просто э нам нужно добавить несколько токенов Итак в качестве примера для токенизация
3:27:03
аудио мы можем рассмотреть срезы спектрограммы аудиосигнала и мы можем тонизировать это и просто добавить
3:27:10
больше токенов которые внезапно будут представлять аудио и просто добавляем их в контекстные окна и обучаем на них
3:27:17
также как и выше то же самое касается изображений мы можем использовать патчи и мы можем отдельно тонизировать патчи а
3:27:23
затем Что такое изображение изображение это просто последовательность токенов и это на самом деле работает и есть много
3:27:30
ранних работ в этом направлении и так мы можем просто создавать потоки токенов которые представляют аудио изображение а
3:27:37
также текст и перемешивать их обрабатывая всё одновременно в одной модели Итак это один пример
3:27:46
то что людей Очень интересует — это в настоящее время большая часть работы заключается в том что мы передаём
3:27:52
моделям отдельные задачи что-то вроде Серебряного подноса типа Пожалуйста реши эту задачу за меня и модель как бы
3:27:59
выполняет эту небольшую задачу но нам всё ещё нужно как-то организовать это согласованное выполнение задач для
3:28:05
выполнения работ и модели ещё не обладают необходимыми возможностями чтобы делать это согласованно исправляя
3:28:12
ошибки на протяжении длительного времени поэтому они не могут полностью связывать
3:28:18
задачи для выполнения этих длительных работ но они движутся в этом направлении и это улучшается со временем но вероятно
3:28:26
то что здесь произойдёт — это то что мы начнём видеть так называемых агентов которые выполняют задачи с течением
3:28:32
времени и вы их контролируете наблюдаете за их работой и они время от времени подходят к вам отчитываются о прогрессе
3:28:39
и так далее Итак мы увидим больше долгосрочных агентов задач которые занимают не просто несколько секунд для
3:28:45
ответа много десятки секунд или даже минуты или часы со временем Но эти модели не безупречны как
3:28:52
мы говорили выше Поэтому всё это потребует контроля например на фабриках
3:28:58
люди говорят о соотношении человек-робот для автоматизации Я думаю что мы увидим что-то подобное в цифровом пространстве
3:29:04
где мы будем говорить о соотношении человек-гриб
3:29:16
Я думаю что всё станет гораздо более повсеместным и невидимым Так что это как бы интегрировано в инструменты и
3:29:24
повсюду и в дополнение что-то вроде использования компьютера Итак в данный
3:29:30
момент эти модели не могут действовать от вашего имени но я думаю что это отдельный
3:29:36
пункт Если вы видели как Chat cht запустил оператора то это один из ранних примеров этого Когда вы можете
3:29:42
фактически передать управление модели чтобы она выполняла знаете действия с клавиатурой и мышью от вашего имени Так
3:29:49
что это тоже то что я думаю очень интересно Последний пункт который я хочу отметить это просто общее замечание о
3:29:56
том что в этой области всё ещё остаётся много исследований которые можно провести одним из примеров этого
3:30:01
является что-то вроде обучения во время тестирования Итак помните что всё что мы сделали выше и о чём говорили имеет два
3:30:07
основных этапа сначала идёт этап обучения на котором мы настраиваем параметры модели чтобы она хорошо выполняла задачи как только мы получаем
3:30:15
параметры мы их фиксируем а затем разворачиваем модель для вывода с этого момента модель фиксируется она больше не
3:30:22
меняется она не учится на всём том что делает во время тестирования Это фиксированное количество параметров и
3:30:28
единственное что меняется — это токены внутри контекстных окон Итак единственный тип обучения или обучения
3:30:35
во время тестирования к которому модель имеет доступ — это обучение в контексте это своего рода динамически
3:30:41
настраиваемое контекстное окно в зависимости от того что она делает во время тестирования
3:30:47
но я думаю что это ВС ещё отличается от людей которые действительно могут знаете учиться в зависимости от того что они
3:30:53
делают особенно когда вы спите например ваш мозг обновляет ваши параметры или что-то в этом роде верно Так что в
3:30:59
данный момент в этих моделях и инструментах нет ничего подобного Так что есть много как бы странных идей
3:31:05
которые я думаю Ещё предстоит исследовать И в частности Я думаю что это будет
3:31:10
необходимо потому что контекстное окно — это конечный и ценный ресурсно ко Начинаем заниматься очень
3:31:16
длительными многомото нав по сути начнут расти до
3:31:23
чрезвычайно больших размеров не до тысяч или даже сотен тысяч а значительно больше и единственный трюк который у нас
3:31:30
сейчас есть — это сделать контекстные окна длиннее Но я думаю что этот подход
3:31:35
сам по себе не сможет масштабироваться для реальных длительных задач которые являются многомод со временем Итак я
3:31:42
думаю что в некоторых из этих дисциплин нужны новые идеи в некоторых из таких случаев В основном
3:31:48
где эти задачи будут требовать очень длинных контекстов Итак это некоторые примеры
3:31:54
того что вы можете ожидайте что это скоро появится Теперь давайте перейдём к
3:31:59
тому где вы можете на самом деле отслеживать этот Прогресс и знаете быть в курсе последних новостей
3:32:05
и самых интересных событий в этой области Итак я бы сказал что три ресурса которые я постоянно использовал чтобы
3:32:11
быть в курсе событий это во-первых м Арена Итак Позвольте мне показать вам
3:32:17
Арена это по сути таблица лидеров ЛМ и она ранжиру ет все лучшие модели и
3:32:23
рейтинг основан на сравнении с участием людей Итак люди задают вопросы этим моделям и они могут судить какой из них
3:32:29
даёт лучший ответ они не знают Какая модель Какая они просто смотрят Какая модель даёт лучший ответ и вы можете
3:32:35
рассчитать рейтинг а затем получить некоторые результаты Итак что вы можете услышать что вы можете увидеть здесь это
3:32:41
разные организации такие как Google Gemini например которые производят эти модели
3:32:46
когда вы нажимаете на любую из этих моделей вас перенаправляет на страницу где эта модель
3:32:51
размещена а затем здесь мы видим Google в настоящее время на первом месте а Open ai идёт сразу за ним здесь мы видим
3:32:58
дисик на третьем месте теперь причина по которой это важно заключается в последнем столбце Здесь вы видите
3:33:04
лицензию dips — это модель с лицензией it это открытые веса любой может
3:33:09
использовать эти веса любой Может их скачать любой может разместить свою собственную версию dips и они могут
3:33:15
использовать её так как им нравится Итак это не собственная модель к которой у вас нет доступа это по сути выпуск с
3:33:21
открытыми весами Итак это своего рода беспрецедентно что такая мощная модель
3:33:26
была выпущена с открытыми весами Так что довольно Круто от команды далее У нас
3:33:32
есть ещё несколько моделей от Google и Open ai а затем Когда вы продолжаете прокручивать вниз вы начинаете видеть
3:33:38
некоторых других привычных подозреваемых Итак й здесь anopic sonet на
3:33:43
четырнадцатом месте и
3:33:49
затем Мета с ляма здесь Итак Лама подобно дисик является моделью с
3:33:55
открытыми весами но он здесь внизу а не наверху
3:34:01
теперь я скажу что этот рейтинг действительно был хорош для долгое время я действительно думаю
3:34:07
что за последние несколько месяцев это стало немного играбельно и я не доверяю этому так как
3:34:13
раньше я думаю про Мне кажется что многие люди например используют sonet от
3:34:18
anopic и это действительно хорошая модель но она находится совсем внизу на номер 14 и наоборот я думаю что
3:34:28
не так много людей использует Gemini но он занимает действительно действительно высокие
3:34:33
позиции Так что я думаю Используйте это как первый вариант но Попробуйте
3:34:38
несколько моделей для ваших задач и посмотрите какая из них работает лучше второе на что я хотел бы обратить
3:34:45
внимание это рассылка новостей об ии Итак ai News не очень креативно назван
3:34:50
но это очень хорошая рассылка созданная свик и его друзьями Так что спасибо за то что поддерживаете это и это было
3:34:56
очень полезно для меня потому что это чрезвычайно всеобъемлющее Так что если вы зайдёте в архивы то увидите что он
3:35:02
выпускается практически через день и это очень всеобъемлюще и часть из
3:35:08
этого написана людьми и отобрана людьми но большая часть из этого создаётся автоматически с помощью LM Так что вы
3:35:14
увидите что это очень вся и вы вероятно Не упустите ничего важного Если пройдёте через это конечно вы
3:35:20
вероятно не будете это читать потому что это так долго Но я действительно думаю что эти резюме в самом верху довольно
3:35:26
хороши и я думаю что нужно иметь некоторый человеческий контроль Так что мове было для меня очень полезно И
3:35:32
последнее на что я хотел бы обратить внимание — это просто X и Twitter многое из и происходит На ИК Так что я бы
3:35:40
просто следил за людьми которые вам нравятся и которым вы доверяете и получал все свои последние новости и лучшие материалы на X Итак это основные
3:35:47
места которые работали для меня с течением времени и наконец несколько слов о том где вы можете найти модели и
3:35:53
где их можно использовать Итак Первое что я бы сказал — это то что для любых крупных проприетарный моделей вам просто
3:35:59
нужно зайти на сайт этого поставщика llm Итак например для openai — Это chat.com
3:36:04
я думаю что он действительно работает сейчас так что это для openai теперь
3:36:11
А для Gemini Я думаю это Gemini google.com или ai Studio Я думаю у них
3:36:16
почему-то два и я не совсем понимаю почему никто не делает для моделей с открытыми весами
3:36:23
таких как dipc клак и так далее Вам нужно обратиться к какому-то провайдеру инса LM Так что мой любимый — это
3:36:30
Together ai и я показал вам что когда Вы заходите на площадку Together Вы можете выбрать множество различных моделей и
3:36:37
все эти модели открыты и разных типов и вы можете поговорить с ними здесь Как
3:36:43
пример Теперь если вы хотите использовать базовую модель такую как вы знаете базовую модель тогда я думаю что
3:36:50
не так уж и часто можно найти базовые модели даже на этих провайдерах ференца все они нацелены на ассистентов и чат и
3:36:57
поэтому я думаю что даже здесь я не смог увидеть базовые модели что касается базовых моделей я обычно обращаюсь к
3:37:03
hyperbolic потому что они предоставляют мою базовую модель Lama 3.1 И мне очень нравится эта модель и вы можете просто
3:37:10
поговорить с ней здесь и так насколько я знаю это хорошее место для базовой модели и я хотел бы чтобы больше людей
3:37:17
размещали базовые модели потому что они полезны и интересны для работы в некоторых случаях наконец вы также можете взять
3:37:24
некоторые из моделей которые меньше и запустить их локально Итак например dips
3:37:29
самая большая модель вы не сможете запустить её локально на своём Macbook но есть меньшие версии модели dips
3:37:35
которые называются дистиллированный эти модели с меньшей точностью Так что не на родной точности
3:37:42
например fp8 нае или знаете 16 на Лама но гораздо
3:37:47
гораздо ниже и не переживайте Если вы не совсем
3:37:52
понимаете эти детали но вы можете запускать меньшие версии которые были дистиллировать точностью и тогда вы
3:37:59
сможете разместить их на своём компьютере Итак Вы на самом деле можете запускать довольно неплохие модели на
3:38:04
своём ноутбуке и моё любимое место куда я обычно хожу — это LM Studio который по сути является приложением которое вы
3:38:11
можете получить и я думаю что это на самом деле выглядит очень некрасиво И мне это не нравится он показывает вам
3:38:16
все эти модели которые по сути не так уж и полезны Все просто хотят запустить псе Так что я не знаю почему они дают Вам
3:38:22
эти 500 разных типов моделей их действительно сложно искать и вам нужно выбирать разные дистилляции и разные
3:38:29
точности И это всё действительно запутано Но как только вы действительно поймёте Как это работает а это целое
3:38:35
отдельное видео тогда вы сможете загрузить модель вот я загрузил Lama 3.2 instruct на 1 млрд и вы просто можете с
3:38:44
ним поговорить Я попросил шутки про пеликанов и я могу попросить ещё одну и он даёт мне ещё
3:38:50
одну и так далее Всё это происходит здесь локально на вашем компьютере Так что мы на самом деле никуда не уходим и
3:38:56
не Обращаемся к другим это работает на GPU на Macbook Pro Так что ку это очень
3:39:02
здорово и вы можете извлечь модель когда закончите и это освободит оперативную память Так что LM Studio вероятно моя
3:39:09
любимая хотя я и не я думаю что у него много проблем с пользовательским интерфейсом и опытом взаимодействия и он
3:39:15
действительно ориентирован на профессионалов почти но если Вы посмотрите несколько видео на юбе Я думаю вы сможете разобраться как
3:39:21
использовать этот интерфейс Итак это несколько слов о том где их найти Итак давайте вернёмся к тому С чего мы начали
3:39:28
вопрос был в том что происходит когда мы заходим на шпиком вводим какой-то запрос и нажимаем
3:39:34
поиск что именно здесь происходит что мы видим с кем мы разговариваем Как это
3:39:41
работает и я надеюсь что это видео дало вам некоторое понимание которые скрыты
3:39:46
за кулисами о том как эти модели обучаются и что именно возвращается Итак
3:39:52
в частности мы теперь знаем что ваш запрос берётся и сначала разбивается на токены Итак мы переходим к
3:39:59
ктор А где здесь место в формате который предназначен для пользовательского
3:40:04
запроса мы по сути вводим наш запрос прямо там Итак наш запрос попадает в то
3:40:12
о ЧМ мы здесь говорили это формат протокола разговора ставляет собой способ которым мы поддерживаем объекты
3:40:18
разговора Итак это вставляется туда и в итоге вся эта штука оказывается просто последовательностью токенов одномерной
3:40:24
последовательностью токенов под капотом Итак чипт увидел эту последовательность токенов а затем когда мы нажимаем поиск
3:40:32
он по сути продолжает добавлять токены в этот список он продолжает последовательность действует как
3:40:37
автозаполнение токенов Итак в частности Он дал нам этот ответ Итак мы можем
3:40:43
просто положить это сюда и мы видим тоны которые Он продолжил это токены с которыми Он
3:40:48
продолжил примерно теперь возникает вопрос Итак Почему именно эти токены
3:40:55
модель выбрала в качестве ответа что такое эти токены откуда они берутся с кем мы разговариваем а как мы
3:41:02
программируем эту систему и вот здесь мы переключили тему и поговорили о том что происходит под капотом Итак первый этап
3:41:09
этого процесса А всего их три — это этап предварительного обучения который в основном связан с приобретением знаний
3:41:16
из интернета и их интеграцией в параметры этой нейронной сети таким образом нейронная сеть усваивает много
3:41:23
знаний из Интернета но именно в процессе контролируемой до настройки проявляется
3:41:29
личность Итак что здесь происходит так — это то что компания такая как Open ai
3:41:35
будет собирать большой набор данных разговоров скажем 1 млн разговоров на очень разнообразные темы и это будут
3:41:44
разговоры между челове и ассистентам и Хотя в этом процессе используется много синтетической
3:41:49
генерации данных и помощи больших языковых моделей и так далее В основе Это задача по кураторства данных в
3:41:56
которой участвует много людей а в частности Эти люди — это
3:42:03
аннотации по аннотирования они изучают их задача создавать идеальные ответы
3:42:10
ассистента на любые произвольные запросы таким образом они обучают нейронную сеть на примерах Как реагировать на
3:42:18
запросы Итак как нам думать о том что здесь вернулось типа что это такое Ну я
3:42:25
думаю правильный способ думать об этом — это то что это симуляция нейронной сети
3:42:40
аннотацией по аннотирования
3:42:45
на написание идеального ответа ассистента на этот запрос и передавай
3:42:50
Это мне теперь мы на самом деле этого не делаем верно потому что мы не ждали 2 часа Итак что мы здесь получаем это
3:42:57
симуляция нейронной сети этого процесса и нам нужно помнить что эти нейронные сети не функционируют так как работают
3:43:04
человеческие мозги они разные то что для них легко или сложно отличается от того
3:43:10
что легко или сложно для людей Итак мы на самом деле просто получаем симуляцию
3:43:15
Итак здесь я показал вам это поток токенов и это по сути нейронная сеть с
3:43:21
множеством активаций и нейронов между ними это фиксированное математическое выражение которое смешивает входные
3:43:26
данные от токенов с параметры модели смешиваются и это даёт вам следующий
3:43:32
токен в последовательности Но это конечное количество вычислений которое происходит для каждого отдельного токена
3:43:39
Итак это своего рода искажённая симуляция человека который как бы ограничен таким образом
3:43:45
Итак чтобы не написали люди языковая модель как бы имитирует на
3:43:51
этом уровне токенов столько этим конкретным вычислением для каждого
3:43:56
отдельного токена в последовательности Мы также увидели что
3:44:01
в результате этого и их когнитивных различий модели будут страдать различными способами и с их
3:44:08
использованием нужно быть очень осторожным Итак например мы увидели что они будут страдать от галлюцинаций и у
3:44:14
нас также есть представление о модели швейцарского сыра о возможностях ЛМ где по сути в сыре есть дыры иногда модели
3:44:22
просто произвольно делают что-то глупое Так что Даже несмотря на то что они делают много волшебных вещей иногда они
3:44:28
просто не могут так что возможно вы не даёте им достаточно токенов чтобы подумать и Возможно они просто начнут
3:44:33
выдумывать что-то потому что их умственная арифметика даёт сбой Возможно они вдруг не могут посчитать количество
3:44:40
букв или Возможно они не могут вам это сказать 911 меньше чем 99 и это выглядит
3:44:47
как-то глупо Итак это способность швейцарского сыра и с этим нужно быть осторожными и мы увидели причины
3:44:54
этого но в конечном итоге именно так Мы представляем что вернулось это снова
3:45:00
симуляция этой нейронной сети человеческого
3:45:05
аннотация по аннотирования
3:45:15
кода Вы на самом деле обращаетесь к одной из моделей мышления таких как
3:45:21
О3 и причина этого в том что gpt 4.0 в основном не использует обучение с
3:45:28
подкреплением Да он использует RF но я уже говорил вам что rhf — это
3:45:34
не там нет времени для волшебства это просто небольшая достройка так на это можно посмотреть но эти модели ления
3:45:42
действительно используют таким образом они проходят через этот
3:45:48
третий этап совершенствование своего мыслительного процесса и открывая новые стратегии
3:45:54
мышления и решения для решение проблем Это немного похоже на ваш внутренний
3:46:00
Монолог в голове и они практикуют это на Большой коллекции практических задач которые создают и курируют такие
3:46:06
компании как Open затем делают доступными для выпускников Так что когда я прихожу сюда
3:46:12
и общаюсь с моделью ления этот вопрос то что мы видим здесь уже не
3:46:18
просто простая симуляция человеческого аннотация и
3:46:25
интересное и конечно Open ai не показывает нам внутренние размышления и
3:46:30
цепочки мыслей которые лежат в основе этого рассуждения но мы знаем что такое
3:46:35
существует и это его краткое содержание и то что мы получаем здесь на самом деле
3:46:41
не просто имитация человеческого новое интересное и захватывающее в том
3:46:47
смысле что это функция мышления Это возникло в ходе симуляции он не просто имитирует человеческого аннотативный
3:47:14
ли стратегии мышления которые развиваются в проверяемых областях и являются ли они
3:47:22
обобщает области которые невозможно проверить такие как создание написание
3:47:27
степень в которой этот перенос происходит неизвестна в этой области я бы сказал так что мы не уверены Сможем
3:47:33
ли мы применять обучение с подкреплением ко всему что можно проверить и увидеть преимущества этого в тех вещах которые
3:47:40
невозможно проверить как например этот запрос Так что это открытый вопрос ещё одна интересная вещь заключается в том
3:47:46
что это обучение с подкреплением Здесь всё ещё как бы слишком новое первобытное
3:47:51
и зародышевые так что мы просто видим как бы начало намёков на Величие В задачах рассуждения мы видим нечто что в
3:47:59
принципе способно на что-то вроде эквивалента хода 37 но не в игре го а в
3:48:04
открытом мышлении и решении проблем в принципе эта парадигма способна делать
3:48:09
что-то действительно классное новое и захватывающее что даже ни один человек не мог придумать раньше в принципе эти
3:48:16
модели способны на аналогии которые не приходили в голову ни одному человеку Я думаю что это невероятно захватывающе
3:48:22
что такие модели существуют но опять же это очень рано и эти модели пока что первобытные и они в основном будут
3:48:28
Проявлять себя в областях которые можно проверить таких как математика и код и так Дале Так что это очень интересно
3:48:35
чтобы поиграть с этим подумать об этом и использовать и в общем это всё я бы
3:48:41
сказал что это основные моменты того что доступно прямо сейчас я скажу что в целом это невероятно
3:48:47
Захватывающее время чтобы быть в этой области Лично я использую эти модели
3:48:52
постоянно ежедневно десятки или сотни раз потому что они значительно ускоряют мою работу я думаю что многие люди видят
3:48:58
То же самое Я думаю что мы увидим огромное количество создания богатства в результате этих моделей будьте
3:49:04
внимательны к некоторым их недостаткам даже с моделями обучения с подкреплением они будут страдать от некоторых из этих
3:49:10
проблем Используйте это как инструмент в инструментальном ящике не доверяйте этому полностью потому что они будут
3:49:17
случайно делать глупости они будут случайно цива они будут случайно пропускать некоторые умственные
3:49:22
вычисления и не будут делать это правильно они случайно не могут считать или что-то в этом роде Так что
3:49:28
Используйте их как инструменты в инструментальном ящике проверьте их работу и будьте ответственны за результат своей работы но Используйте их
3:49:35
для вдохновения для первого черновика задавайте им вопросы но всегда проверяйте и подтверждайте и вы будете
3:49:41
очень успешны в своей работе Если будете так делать Надеюсь это видео было полезным и интересным для вас надеюсь
3:49:48
вам было весело и это уже как бы очень долго так что извините за это Но я надеюсь что это было полезно и да
3:49:54
Увидимся позже
