ym104432846
Вставьте ссылку на видео из Youtube, Rutube, VK видео
Задайте вопрос по видео
Что вас интересует?
00:00:02
Представление и цели открытого урока:
  • Открытый урок посвящён курсу "Развёртывание локальных моделей".
  • Рассматриваются инструменты и подходы к обучению и использованию локальных моделей.
  • Планируется обсуждение LORA и связанных технологий.
00:01:08
Презентация образовательной платформы OTUS:
  • Платформа OTUS предлагает курсы по IT-направлениям: программированию, анализу данных, инфраструктуре, управлению IT-командами и другим.
  • Курсы проходят в формате живых вебинаров с поддержкой наставников и проектной работой.
  • Студентам предоставляется бессрочный доступ к материалам и официальные документы об успешном завершении курса.
00:03:25
Введение лектора и представление курса:
  • Лектор – руководитель курса, работающий в сфере нейронных сетей и машинного обучения с начала 2000-х годов.
  • Курс ориентирован на практическое применение локальных моделей и дообучение нейросетей.
  • Участники приглашаются активно участвовать в уроке и задавать вопросы.
00:06:03
Локальное дообучение моделей и его преимущества:
  • Обсуждаются причины и случаи применения локального дообучения моделей.
  • Преимущества включают возможность адаптации моделей под специфические задачи и конфиденциальность данных.
  • Рассматривается технология LoRA как эффективный способ дообучения с минимальными ресурсами.
00:46:48
Особенности и принципы работы LoRA:
  • Подробно объясняется принцип работы LoRA и её преимущества по сравнению с традиционным дообучением.
  • LoRA позволяет значительно сократить объем необходимой памяти и вычислительных ресурсов.
  • Обсуждаются особенности архитектуры и реализации LoRA.
01:24:06
Практическое применение LoRA и настройка моделей:
  • Демонстрируется пошаговый процесс подготовки датасета, настройки и запуска обучения модели с использованием LoRA.
  • Показаны практические примеры настройки гиперпараметров и оценки результатов обучения.
  • Объясняется важность тщательной разметки данных и выбора правильных методов тренировки.
01:49:36
Инструменты и платформы для работы с локальными моделями:
  • Рассматриваются различные инструменты и платформы для разработки и обучения локальных моделей, включая Studio, Alama Factor и другие.
  • Демонстрируются возможности интеграции инструментов и экспорта обученных моделей.
02:28:05
Завершение урока и приглашение к следующему открытому уроку:
  • Подводятся итоги урока, участники получают дополнительную информацию о курсе и будущих мероприятиях.
  • Предлагается присоединиться к каналу с анонсами открытых уроков и новостей платформы.
02:29:35
Информация о материалах урока:
  • Указывается, что презентация и дополнительные материалы будут размещены в репозитории GitLab.
0: Рад всех приветствовать на нашем открытом уроке. Так, сейчас 1 момент, потому что неправильно пошарил экран.
1: Ну, сейчас поправим, вот теперь будет хорошо.
2: Отлично. На окно подключилось. Сегодня у нас будет открытый урок курса про развёртывание локальных моделей, да, поговорим про Лора, ну и вообще, в целом про обучение, да, какие есть инструменты, как это все запускать на своём компьютере, да, какие есть.
3: Узкие места по возможности будем делать без кода, да, но все-таки код я тоже подготовил, чтобы чуть лучше это все демонстрировать, да, и показать какие-то моменты, которые через ui не удаётся.
4: Конфигурировать, да? Или достаточно сложно конфигурировать. Вот до того, как мы начнём, да, хочу запустить небольшое видео, которое рассказывает про отус, организующий это рок. И потом пойдём в нашу тему.
5: Привет, меня зовут Андрей Фомин, я преподаватель курсов линейки управления отус отус это образовательная платформа, которая специализируется на обучении it. Мы обучаем тех,
6: Кто создаёт будущее, помогаем профессионалам развиваться, а новичкам войти в индустрию. Компании доверяют нам обучение своих сотрудников как индивидуальных специалистов, так и целых команд. Мы предлагаем широкую линейку айти курсов на популярные и на узкоспециализированные темы по направ.
7: Программирование, анализ и аналитика, инфраструктура, архитектура, дейта, сайнс гейм деф, управление it командами и другие здесь найдётся все для junior middle и senior специалистов.
8: Курсы вотус это онлайн обучение, которое проходит в формате живых вебинаров, где опытные специалисты делятся собственными решениями реальных задач. Мы поддерживаем студентов на всем пути обучения. Наставники ежедневно ревьют.
9: Домашние задания и дают развёрнутую обратную связь. А непонятные вопросы всегда можно уточнить в учебном чате или задать преподавателю на занятии. Благодаря поддержке экспертов у студентов получается осваивать даже сложные и очень сложные темы. Важная часть обучения это проектная работа, которой студенты
10: Реализует полученные на курсе знания, и обычно она максимально приближена к реальным рабочим задачам, поэтому выполненный проект пополнит ваше профессиональное портфолио и поможет при поиске новой работы либо при обсуждении повышения по окончании обучения у студентов остаётся бессрочный доступ к материалам курса.
11: Они всегда могут вернуться за вдохновением и новыми идеями. Отус это лицензированная образовательная платформа. По окончании обучения мы выдаём студентам официальный документ, который подтвердит профессиональный рост. Это удостоверение о повышении квалификации или диплом о профессиональной переподготовке. Также
12: Сертификат о прохождении курса всегда доступен в личном кабинете студента на русском и английском языках. Наша миссия развивать технологии, обучая их создателей каждым занятием, каждым проверенным домашним заданием или проектом мы создаём настоящее и будущее образование, мы видим
13: Это будущее в разработке качественных материалов и организации дружелюбного комьюнити. Приглашаем вас разделить с нами этот путь.
14: Так, ну что ж, давайте начнём так. Я не понимаю, куда у меня делся. А вот вижу чат, пожалуйста. Плюс. Спасибо, Евгений. Да, если меня видно и слышно.
15: Если все в порядке с презентацией, со звуком и прочим да, добрый вечер.
16: Ага, так, вижу плюсики. Отлично, замечательно. Немножко расскажу про себя. Я руководитель этого курса, да, и это наш новый курс. В какой-то степени это эксперимент, да, и мы хотим
17: Своими знаниями о в части использования локальных моделей, ну и вообще в целом истории, связанные с тюнингом, да, с обучением, с подкреплением и всем тем, что позволяет вам модель достроить, достроить для
18: Своих задач, да, я с, так скажем, с нейросетями, ну и вообще, в целом, с машинным обучением, если быть более точным, нейросети, да, работаю года, наверное, с 2000, да, у меня ещё в своё время.
19: Моей магистерской диссертации было некоторые части, связанные с системой принятия решений и с теми системами. Вот и много был. И остаюсь в разработке сейчас рабо,
20: В яндексе занимаюсь прежде всего мобильной разработкой, да, но тема нейронных сетей, неважно каких локальных и, ну, прежде всего, да, и больших, облачных, да, она никуда не девается, и вполне
21: Сталкиваюсь ежедневно. Ага, вот также вот ещё преподаю на курсах с тестированием, высоконагруженными системами, архитектурой.
22: И, собственно, и для тестировщиков, да, чуть не забыл про это важный курс. Какие у нас правила? Да, старайтесь быть максимально активными, задавайте вопросы, я в чат буду подглядывать, да, если сразу не отвечу.
23: Мог пропустить, да, увлёкшись рассказом или демонстрацией. Но в любом случае вернёмся, посмотрим обязательно на все вопросы постараюсь ответить. И запись идёт, и запись будет выложена на площадках в частности.
24: Видео на YouTube и придёт к вам на почту да, хочется немножко узнать про вас, кто вы такие вот опытные люди, уже заранее пишут, не успел дойти до этого слайда кто вы?
25: С каким бы опытом к нам пришли, да, и чтобы вы хотели узнать. Ну, понятно, что да, мы сегодня будем говорить прежде всего про такую разновидность до обучения локальных сетей.
26: Прежде всего, моделей с помощью lora, да, но как бы, может быть у вас есть какие-то кейсы, да, где вы хотите просто или понять, как работают локальные, и да, или как, какие есть ограничения.
27: Да, или где вы можете применить в своём, в своей практике, так скажем, да, в своей работе.
28: Вот так это мы все пропускаем, это уже видео рассказал. Чуть подожду ваших сообщений. Если они идут, то замечательно. Вот и
29: Пойдём в сторону локальных. Ага, понял.
30: Ну, кстати, девопса в эмках тоже вполне себе хватает, да, и часть, ну.
31: Связанная с лейном, да, с оценкой моделей и со сборкой этих самых моделей через аламу, она вполне себе вписывается в философию девопс. Вот. И более того, в принципе никто не запрещает модели распространять через все артефакты.
32: Которые контейнерные. Ага. Так, дата сайнс интересно. Угу. Так, архитектор, информация, служба поддержки. Это вот как раз об этом мы и поговорим. Да, про службу поддержки. Прям примеры будут идеально.
33: Хорошо, давайте так. И разработчик внедряла, голос добрался. Угу. Ну, на самом деле ничего, чтобы у вас не было ощущения, да, что core это какая-то там мистическая.
34: Та техника, да, которая там чем-то радикально отличается от любых других схем обучения. Нет, это не так, да, это подход к низкоранговым адаптерам, да, когда вы не меняете всю сеть.
35: Заменяете только небольшую её часть. Ну, вернее, доучиваете небольшую её часть, да, за счёт этого она перенимает некоторые дополнительные знания, прежде всего стиль. Угу. Как бы применить кьюэй, видно валидно. Ну,
36: Да, окей. О чем, собственно, мы поговорим, да, поговорим, что, в каких случаях есть смысл вообще дообучать сеть? А когда вам это не требуется, да, то есть вы можете чисто за счёт роутинга и
37: За счёт подключения дополнительных источников знаний в виде там каких-то разок, да, вы можете получить тот же результат, если не лучше, да, поглядим на хлору. Соответственно, чем килора отличается от
38: Лора, принципиально сейчас вижу вопрос.
39: Посмотрим на слов. Собственно, наверное, это будет самый такой центральный инструмент у нас, потому что там есть и веб интерфейс, да, там есть и библиотечки для дообучения, да, в разных вариантах. И генераторы дейтасет на
40: Конвейере, да, и много чего другого. Ну и, собственно, можно просто как локальные модельки, да, то есть в каком-то плане альтернативное решение m studio или маме так, полёт.
41: Предоставляет поддержки асинхронности. Ну, смотрите, а синхронность тут как бы, вообще дело вторичное, да, то есть почти все апи, которые есть, да, ак апи, или любые другие, они
42: Предполагает, в большинстве случаев режим стримминга, то есть, когда вы можете забирать сообщения, да, запись будет, идёт сейчас, когда вы можете забирать сообщения по чуть чуть, да, это, ну, поток разворачивается в текст.
43: И как бы вас никто не лимитирует в плане там синхронного синхронного взаимодействия, да, синхронно сделать на стороне клиента. Это не, не ответственность сервера, да, сервер steam может выдать дальше. Делайте что хотите, вот.
44: Что, собственно, хотелось бы чего добиться, да? Ну, с 1 стороны, это понять вообще, нужно ли оно вам, да, потому что до обучения неважно, какой это файнтюнинг с полным обучением или это Лора.
45: Ну, оно подороже, да, в том смысле, что вам нужно будет затрачивать дополнительные там вычислительные мощности для
46: Подстраивание. Ну, во первых, вам надо будет готовить датасет, размечать датасет, да, вам нужно будет там готовить примеры, либо в инста подходе, да, когда есть, ну, по сути, некоторый вход и некоторый ожидаемый выход, да, и за счёт этого
47: Перенимается, может быть, чат, подход. Ну то есть там разные сценарии есть, да, но вам это все равно придётся делать. И это не дёшево смысле, что это имеет смысл только тогда, когда у вас прям нужно специализирова.
48: Сеть под ваши конкретные задачи, например, там, под ту же самую техподдержку, да, чтобы она там понимала какие-то коды ошибок, чтобы она понимала терминологию, которая не является же, да, какой-то принятой конкретно у вас и при
49: Это вы бы не затрачивали бы. Ну, то есть, по сути, это будет такое вшитое знание, да, которое поможет избежать необходимости пром, расширять, да, и докидывать туда какие-то дополнительные инструкции про значение аббревиатур.
50: Там или по значение кодов ошибок вот посмотрим как лору можно запустить на локальном компьютере да, у меня я не супер мощная машина, да, то есть это mc с 300000.
51: 30 шестью гигабайтами юнифайт мемори, в принципе, этого хватает, да, чтобы запустить модельку, ну, понтова модельку какую-нибудь, на там, 17, ну, где-то до 20 миллиардов параметров.
52: Ну, имеется ввиду четырехбитной, вот. Но в реальности, конечно, там, если учить более тяжёлые модели, то вам, конечно, памяти надо побольше, да, и нормальная, ну,
53: Вопрос, сколько оно стоит, все это дело, да, и посмотрим, как делать эвалуэйшн. То есть смотреть вообще, пригодилось ли вам такое. То есть, действительно ли обучение привело к ожидаемым результатам. Да, и, соответственно, посмотрим, как делается такой вот
54: Оценка. И вообще, как можно встраивать оценку в о, и как можно делать оценку на уровне кода, да, чтобы не получилось. Так что вы в прод покатите модель, которая потеряла какие-то свои базовые навыки. Да, забыла, дженерик.
55: Да, которые у вас просто вытеснили вашими специализированными знаниями. Вот, ну, опять же, зависит от задачи. Да, иногда вам, дженерика, и не надо.
56: Дорогостоящий это так, ну то есть это дороже, чем ради и дороже, чем пром. В любом случае, да, потому что, но, с другой стороны, вы получаете более стабильный результат, потому что у вас не
57: Непосредственно внутрь вашего конвейера, да? Ну то есть прямо в матрице, которые сохраняют знания, да, добавляется небольшой. Так, небольшая прибавочка, которая делает корректировку, но сразу скажу, что
58: Сразу скажу. Вот сейчас как раз об этом будем говорить, да, что не стоит особенно надеяться на то, что вы сильно повлияете на знания, да, это может и к лучшему, потому что все-таки, используя какой-нибудь Клён, да, в качестве базовой модели,
59: Вы с большой вероятностью ожидаете, что она хотя бы останется такой же умной, как была, да, но при этом покидаете.
60: Да, вы кидаете туда какую-то свою специфику. И самое важное стиль, когда речь идёт о лоре или лоре, вы чаще всего переносите стиль общения, например, что не надо там делать приветствие, да, и лить воду.
61: Нужно отвечать там в определённом корпоративном стиле, да, давать какие-то, ну там, использовать какие-то обороты, да, или, ну, как-то иначе принимать решения, ну, то есть, смотреть на
62: Ваши образцы, да, и подражать вашим образцам. То есть сильно знаний Лора не даёт, особенно если ранговая совсем, да, то есть берете вектор на 8. Ну, сейчас до этого дойдём, да, то там вообще практически серьёзного эффекта не будет. Д.
63: В основном это всякое мелкие такие патчи, да, которые хотелось бы. Вот, и зачем это может быть вам нужно сейчас, да? Ну, прежде всего, да. Зачем вообще нужны локальные модели, когда есть прекрасный
64: Chat gpt, да, когда есть антропки, модели, антропка, кот всевозможные, да, когда есть джимена и прочее. Причин несколько. Да, самая частая причина это необходимость. Ализа, ну, во первых, специализа
65: На себя. Тут я сразу скажу, что некоторые некоторый тюнинг можно делать на том же самом платформ, да, то есть можно поднастроить модель под свои задачи, да, например,
66: Там под медицину, под юриспруденцию или ещё что-то. Но если вы не хотите отдавать данные наружу, что вполне резонно, да, бывает. Особенно, когда это какие-то корпоративные документы, там, финансовые документы и прочая вычислительная информация, да.
67: То есть довольно большая вероятность, что из за прав вы захотите это делать локально внутри контура вашей компании. То есть это не значит, что вы запускаете это на 1 ноутбуке, да, это может быть кластер из там, н. Узлов, да.
68: Или там несколько тяжёлых видеокарт с приличным объёмом памяти, чтобы модель стартовать. Да, и 2 вещь, которая может быть вам нужна с точки зрения дообучения, да, это необхо.
69: Необходимость уйти от модели консультант просто так, да, то есть, типа какой-то там консультант, какой-то там технической поддержки, усреднённый специалист, да, который отвечает обтекаемыми терминами, да, и какими-то фразами, которые, в общем,
70: Никак не связаны с вашим, да, перейти к вашей конкретной специфике, да и не всегда это удаётся починить промто по многим причинам, да, потому что любая модель, она все-таки стара будет
71: Даже если вы там в конце все чётко опишите, да, какой должен быть стиль и так далее, да, все равно модель будет опираться на обобщённые знания и не будет использовать какую-то специфическую для вас информацию. Ну либо придётся очень большой писать, а это токен.
72: И время, опять же, вот супер важно, да, что сейчас для этого вообще, в принципе, ничего писать сильно не надо, да? То есть раньше требовалось писать там и трейнера, то есть описывать
73: Supervisor файнтюнинг, да, то есть делать писать кучу кода, готовить определённым образом, размещать входные данные, выходные, да, потом это все отдавать в код забирает претрейна модель какую-нибудь типа.
74: Да, и поверх неё пытается доучиться и выдаёт вам результат. Да, сейчас это все можно собрать более менее чуть ли не в интерфейсе, да, но сразу подсвечу, что некоторые вещи все-таки лучше делать через код.
75: Да, и, ну даже в простом варианте, да, через яблики.
76: Это просто более управляемо становится, да, но это не значит, что у вас вовсе нельзя использовать, сделать все из коробки. Вот. И основная проблема, да, то, что модель, конечно, умная, но она не ваша модель, она не заточена под ваши задачи.
77: Вы подняли локалку, то есть локальную модель какую-нибудь, да, на a studio, на lame, на чем хотите, там, на опен, да, 1000000 этих вариантов. На чем запустить модель? Да, вы
78: Писали, написали хороший пром, прикрутили рак в своей базе знаний, да, она все равно отвечает дженериком. Она не понимает, что какая у вас специфика вашей поддержки. Да, что означает там код 51 в сообщении.
79: Об ошибке пользователя и так далее. Да, и начинает там называть ваши продукт, называть программное обеспечение, вместо того, чтобы давать конкретное название, да, там не читает тикеты, не понимает, как с тикетами работать, да, и там
80: Слишком распространённо отвечает. И самое типичное это типа, здравствуйте хорошего вам дня и вот это вот все, да, то есть то, что вам в техподдержке, ну, может быть и надо, а может быть и нет, да, смотря какой стиль. Вот. И мы посмотрим.
81: На примере вот такой супер простого кейса, да, кейс про биллинг. У нас есть платёжный сервис, в котором в поддержку приходит куча обращений, да, и базовая модель, которая используется для
82: Беринга, ну, чтобы она была не очень большой, да, и чтобы все могли её себе поднять, это квантованный Клён на 8 миллиардов. Вот есть те, промтк большой, да? Ну, в примерах, он будет там в 3 строчки, но
83: Суть.
84: Ну, ссылаться на конкретный пункта, ссылаться на конкретный пункт документации она, может и рагом, то есть тут для этого не требуется, возможно, не требуется переобучение, да, то есть надо сначала попробовать дешёвые способы типа промта и raga.
85: Если это не помогает, да, тогда уже учить, учить надо. И если вам нужно, особенно если вам нужно какой-то стиль поддерживать, то стиль промтом задаётся крайне плохо. Вот. И вам нужно получить вот такой вот формат.
86: Когда, например, человек пишет там в поддержку, у меня там возникла какая-то ошибка 38, да, нужно понимать, что именно нужно делать, да, и возможно завести какой-то тикет, то есть подготовить ответ в виде
87: Урировано джейсона, да, какой-нибудь. Вот почему это не работает, да, в обычных режимах. Ну, во первых, это не проблема знаний с точки зрения документации, да, с точки зрения там, Вики конфлюенса или чего.
88: Да, это спокойно закидывается рагом, ищется через векторную базу. И вот оно вам подарок в контексте. Да, основная беда, что это скорее проблема поведения. То есть того, как надо отвечать. То есть какой
89: Тон ответа да какая структура ответа, какие поля обязательны, что необязательно вот такие вот вещи через prom довольно плохо заносятся, да и в основном все-таки, ну, нужно чуть глубже знания, точнее не знания, наверное.
90: Можно сказать, да, и основная причина в том, что пром спасает действительно до тех пор, пока пользователь не задаст вопрос какой-то нестандартной формулировке, то есть пока он пишет примерно
91: Понятным образом, да, привычным каким-то стилем, то все даже на промте работает. Вот если он задаст вопрос чуть чуть в сторону или как-то иначе сформулирует, то промт рассыпается тоже самое, как большой промт, он стоит токенов даже
92: Модель локальная, да, это время генерации, ресурсы, чем оно вам. Вот и есть процесс, который строится поверх.
93: Ну, он может, например, спросить что-нибудь формулировки, что я там пытаюсь выполнить операцию, оно мне пишет какую-то ошибку, там и не написать код ошибки, да, или
94: Там, наоборот, там скопировать текст буквально там, с сообщения об ошибке там или ещё что-то сделать. Ну то есть вариантов как, как, как люди умудряются сформулировать или там, не знаю, поэму написать какую-нибудь, да?
95: Стихотворение, которое этот код ошибки писать, всякое бывает. Вот. И тут чем ближе мы находимся к знаниям, ну как знаниям, да, то есть, думаю, вы понимаете, да, что, в принципе, любая лмка, она решает Ровно 1 задачу.
96: Да, задача и это предсказание следующего токена. Ничего другого они делать концептуально не умеют. И по большому счёту, это такое просто умное продолжение предыдущего контекста, да.
97: Ввиду того, что параметров много, да, и архитектура сети не такая тривиальная. То есть, в отличие там от первых рекурсивных моделей, да, и прочих конструкций, работающих с текстом, да, все-таки трансформеры, они чуть более
98: Хитрая, скажем так, вот, и за счёт этого вы можете получить более качественный ответ, да, более качественное предложение, которое, в принципе, основано на какой-то запомненной запомненной закономерности на фактическом знании. Сказать да, но наше
99: Оу, я не успеваю читать. Наша задача это попробовать подкрутить веса, да так, чтобы модель подучилась под
100: Нашу конкретную специфику, да, и тут есть несколько тактик до обучения. Есть тактика, которая называется файнтюнинг, да, то есть вообще в целом дообучения это когда у вас уже есть вот модель, да, вы понимаете, что
101: Модели открытые, которые локальные начинаются, это модели с открытыми весами. То есть есть веса, которые можно скачать с face, да, вы их себе закидываете, они заливаются в видяшку, и потом интерес проходит. И, соответственно, вы там получаете как
102: Какой-то выход, вот. И до обучения оно как раз подкручивает веса, да, для того, чтобы соответствовать вашим ожиданиям. То есть любая модель, она учится на как соответствие.
103: Кода выхода, да, то есть выдаёт какое-то там входное сообщение пользователю, и вы сообщаете, ну там разные варианты есть, например, она там что что-то пишет в ответ, вы говорите, нет, неправильно вот так должно быть, да? Или там-то
104: Другой её оценивает, да, например, это может быть внешняя модель, которая выступает в Роли судьи, да?
105: Тестируют другую модель, да, оценивает. Вот. И основная проблема до обучения состоит в объёме. Давайте просто посчитаем в уме, да, если взять модельку с, ну, такую среднего размера.
106: Да, там какую-нибудь, ну даже те же самые 8 миллиардов параметров. 8 миллиардов параметров в видеокарте. Ну и вообще в целом в памяти сохраняются обычно в flat 32 float 32 это 4 байта на параметры, да, то есть в самом простом случае вы
107: Получаете 4 на 8, ну, соответственно, 32 гигабайта на хранение только весов, да, для того, чтобы их научить, для того, чтобы, собственно, моделька могла подучиться под нужное вам поведение, да, вам нужно ещё
108: Дополнительная память. Вам надо хранить градиенты, чтобы помнить, собственно, куда чего сдвигать. Да, вам надо сохранять контекст, сохранять кв кэш, который связан, собственно, с
109: Тем, какие слова на кого смотрят, да и в каком плане, а кв кэш растёт довольно быстро с Ростом контекстного окна. И в итоге даже просто на хранение весов, вам нужно кучу памяти, да, а примерно, если
110: Ещё и обучение этого, то вы получаете в 3 раза больший объём памяти где-то примерно в 3 раза. То есть для полного Анюнина, да, для дообучения модели вам нужно там на 8 миллиардов
111: Параметров вам нужно порядка 90 96, даже 96 примерно гигабайт, оперативы, гигабайт, видеокарты, да? Ну вы знаете, сколько они стоят? Можно, конечно, арендовать в облаке, но даже там получает
112: Ни разу не дёшево. Вот. И хотелось бы сделать какое-то более компактное решение. Ну, с 1 стороны, все полностью веса учить это довольно дорого, да, плюс, опять же, не факт, что они сойдутся. Ну, то есть в целом это такой процесс довольно хрупкий.
113: Потому как, когда вы, ну, есть проблема катастрофического забывания, да, что модель начинает терять предыдущие навыки, когда вы её пытаетесь научить новым, да, есть, как минимум, проблема того, что у вас очень много
114: Параметров, да, вам надо найти баланс такой, чтобы и старое не забыть, и новое как-то зафиксировать в памяти, не переобучить. Ну, в общем, короче, много мороки. Вот. И, собственно, 1 из мотиваций, почему появилась Лора, да, как раз
115: Основная задумка это уменьшение объёма памяти, потому что полностью все 8 миллиардов параметров переучить, ну или вообще в целом хотя бы их запомнить, да, это достаточно напряжно с точки зрения объёма оперативки.
116: Так, да, вот то, что Михаил написал, как раз, да, важен, детализация ответа, но это тоже касается, в том числе формата того, что мы от модели ожидаем, да.
117: Тут без этого, ну, это как бы часть, часть обучения, защита от галлюцинаций. Правильно снижает.
118: Да, похоже, не может ответить. Ну, тут важный момент, да, вообще должны понимать, что модель не учится. Ну, обычно, да, вот как раз то, что Григорий написал, что при повторном похожем вопросе может ответить самостоятельно не может. А пока
119: К сожалению, да, несмотря на все попытки континиус, лернинг, ну,
120: Полноценно, нигде ещё не внедрён, да, то есть сам по себе процесс дообучения модели на лету, да, можно делать там, в разного рода, да, когда вы делаете там обучение, крепление, да, когда вы там говорите модели, что вот это хорошо.
121: Сделала это ты плохо сделала, да, и давай ты будешь в следующий раз делать иначе, но это
122: В принципе, рядом находится с обучением, да, но это такой непрерывный процесс. И как бы гарантировать, что вы получите хорошее качество, никто не может. Ну, как минимум, надо быть уверенным в качестве разметки, да, и то, что модель там на
123: Начнёт менять своё поведение. Это, конечно, идеально было бы так, да, ну, как бы, а кто осудит то кто-то, да, то есть, кто будет оценивать, насколько ответ был хороший или плохой, да, и то, что она там отдала.
124: Сообщение оператору, да, на обработку это, ну, как минимум, напомню, да, что модели вероятностная штука, да, и нет никакой гарантии, что в следующий раз следующий запрос даже в той же формулировке пойдёт по тому же пути, да.
125: Нас. Ну, если температура не 0, конечно, вот.
126: Да, и с галлюцинациями это немножко другая история. Галлюцинации, это врождённая особенность тех моделей, да, ввиду того, что вы, она должна дать хоть какой-то ответ, должна дать какое-то разумное продолжение и
127: Как бы, если не делать дополнительные там контуры фактчекинга, да, там всевозможного рода, там проверки моделей самой себя, там, проверки какими-то внешними источниками и так далее, да, то от галюцинации никто не застрахован, она будет очень правдоподоб.
128: Правдоподобно сочинять что-то, что похоже на правду это просто в природе вероятностно самих моделей, да, то есть с этим ничего не сделать.
129: Вот. Да. Итак, что у нас есть, да, у нас есть 3 рычага, у нас есть. Ну, конечно, у нас есть промт, инженерия, то есть мы собираем себе промтек, да, это практически бесплатно, но оно накидывается в каждый
130: Запрос, да, это замедляет обработку, потому что, ну, у вас время ответа пропорционально количеству надо токены переварить туда, потом токены разобрать обратно. В общем, да, раги подкидывают дополнительные знания. То есть это, ну, собственно, влечение.
131: Векторное хранилище, да, откуда вы забираете новые, там какой-то новый кусок контекста, например, там ссылку на конкретные пункты, там договора, да, и до обучения он как раз влияет на поведение. То есть это формат
132: Ответа стиль ответа спецтерминология, как это ни странно, но умение молчать можно, да, обучать, на самом деле ничего страшного в этом не будет. То есть довольно типичная, кстати, история, когда делают
133: Тюнинг модели, которые уже специализированы, да? Ну, например, там, не знаю, у вас есть там какая-то дженерик, причём, более того, даже есть некоторые попытки переноса знаний, да, между моделями, ну или пока так, не знаний, скорее, а
134: Пытаюсь по-русски это сформулировать, но что-то вроде образа мысли нет, дистилляция это когда у вас типа есть модель учитель, да, есть модель. Ученик, который пытается перенять поведение учителя. Нет, здесь скорее.
135: Перенос каких-то навыков, которые приобретены в 1 области в другую область, да, то есть, типа там модель, которая обучилась на медицине, да, она может там перейти, заниматься какой-нибудь инженерией, да, или ещё чем-то такого плана, да, если
136: Её подкрутить именно в код части, да? Ну, там, где у неё по знаниям лежит. Вот. И тут, как, собственно, до обучение построено, да, у нас
137: Например, да, есть определённого рода сообщения, да, я сейчас сразу буду показывать примеры. А, да, я, простите, забыл отправить вам ссылочку, ссылочку на, на, на, на так.
138: Local ссылочку на все наши демки, которые мы сегодня смотрим. Так, digital.
139: Ага.
140: Ну, скажем так, никто там не стоял и не видел, как тот же самый кими, да, учился у клода, ну, с какого-нибудь или у фейбла, да.
141: Это к вопросу о дистилляции, конечно, там на них это уже повесили, потому что слишком уж явно было заметно, что пытаются обучиться. Вот. Но тут надо понимать, да, что копирование поведения, оно не, ну,
142: Скажем так, оно поверхностно, да, то есть в том смысле, что вы можете, ну, как студенты обычно делают, да, то есть можно выучить все определения, да, можно там.
143: Научиться разговаривать как преподаватель, да, с такими же умными формулировками. И внешне это будет казаться даже, что человек понимает, да, но на самом деле шаг в сторону, да, небольшое отклонение и все примерах, ну, короче, на тех,
144: Да, на тех диалогах, которые используют дистиляции, оно, ну, типа того, да, они, они себе переймут вот этот вот как бы внешний образ, да, который повторяет исходную модель, да, поведение исходной модели, но при этом
145: Чуть чуть там в сторону отходите, да, но как на экзамене тоже самое, что там вопрос чуть чуть по другому задашь и все, и уехал. Вот, соответственно, что мы, да, если делать в отношении раза, да, то
146: У нас могут меняться вот подобного рода вещи, да, то есть мы меняем контекст, да, например, у нас там пришло сообщение, там карта не проходит код 51, да, в модель уходит, там системный пром, потом что-то, что соответствует этому контексту, да, там
147: Регламент возвратов или там инструкция по СМС, там, бла бла бла, вот, и на основе того, что её прислал, и то, что мы подлили в контекст дополнительно, да, формируется дополнить, формируется ответ модели.
148: Да, но при этом мы теряем кучу токенов. Как можно сэкономить на этом? Да и смысла в этом не сильно много. А как, чем радикально отличается рак от дообучения, да, дообучении?
149: Вам нужно, если вы получаете свежие факты, какие-то, да, вам нужно заново делать обучение, то есть перестраивать адаптер, да, или делать континент с учётом свеже появившегося. Реги в этом плане, конечно, быстрее. Вы просто докидываете в векторную базу, какой
150: Фак, и он себя, да, в дообучении вы теряете связь с источником, да, потому что у вас нету, ну, как бы это просто часть памяти становится вашей системы, da вашего вашей, и, и она не
151: Да, она просто вот, и, ой, пропало, не помню, да, и, соответственно, надо понимать, да, что это вещи, которые, в принципе,
152: Да, и бывает, когда рак накидывается поверх уже существующей модели, вот как нам идти, да, сначала мы, ну, с точки зрения стоимости, да, сначала мы уточняем пром, то есть
153: Большая часть проблем решается методом структурированного запроса, да, и какими-то примерами. Если этого хватает, слава Богу, да, дальше двигаться не надо. Если вам не хватает фактов, да, или они часто меняются, то делаем так, если
154: Не получается ни это, не это, да, то есть вам все равно все растекается и ответы идут как попало, то тогда уже начинается дообучение. Вот тут важные моменты, да, для того, чтобы учиться, нужно большое количество примеров, причём
155: Хорошо размеченных примеров и нужно, ну, предварительно собрать. Да, да, он может быть сделан из реальных диалогов. Это нормально. То есть вы берете, ну, как это часто делается, да, берётся живая поддержка.
156: Вы записываете историю чатов с пользователями, потом отбираете из этого хорошие диалоги, на которых можно учиться, и используете их как базу для. Вот. Но это уже
157: Такой самый последний шаг. То есть начинаем, собственно, с промта, да, пром часто ломается на всяких нетипичных обращениях, да, формат рассыпается, потому что, ну, промт, он все-таки заточен под какую-то ожидаемую
158: Сообщение, да, она не всегда такая. Рагги в целом тоже помогают. Ну и до обучения тогда уже начинаем сами это делать. Вот когда до обучения есть, имеет смысл, да?
159: 1, когда вы чётко знаете формат ответа, да, то есть это должно впечататься в мозг лмки, чтобы она не терялась дальше, это какой-то своя терминология, это
160: Могут быть какие-то аббревиатуры или ещё что-то. Да, и вам хочется сохранить короткий пром. Ну когда у вас запросов много, да, вам не охота каждый раз повторять одни и те же факты, там одно и то же утверждение, да, гораздо лучше это зашить в модель и
161: Пользоваться данной модель. Вот когда делать не надо, да? Ну, когда нужны ссылки на источник, потому что она не знает, откуда она эти данные взяла, да, когда данные меняются часто, ну и просто какие-то абстрактные
162: Пожелания там к вашей, не, они чаще всего пронто решаются, вот чего не чинят, как раз отвечая на
163: Сообщение григория, во первых, она не чинит галлюцинации, да, то есть, если вы научите модель на уверенных ответах, хуже, если они ещё и противоречивые ответы, да, то есть, типа части ответов 1 говорится, части ответов другое, или там в половине ответов вы приветству
164: Собеседника половине нет, да, она также и научится 50 на 50, то она будет писать, то не будет. Вот. И если вы научите на уверенных ответах и скажете, что вот эти ответы правильные, да, она также уверенно будет вам брать в вашем стиле. Вот.
165: Обучить, ну, до обуче, если модель уже обучена, то все устаревает. То есть, если у вас факты поменялись, да, то вам надо учить заново, ну, либо пытаться корректировать, но это хуже, да, то есть
166: Просто заново её собрать и поверх сырой модели научить меньше будет артефактов.
167: Так, зашёл для 1, там большинство фактов собирается подготов документации для 2. Ну это правда, да, вот. И вот как раз то, что я вам сказал, что если есть какие-то противоречия, да, то модель выучит эти противоречия, то есть вы должны быть
168: Ну, 1 делом надо провалидировать сам сет, на котором вы учите, да, иначе вы получите хаос уже в новой модели, да, и причём она будет уверенно говорить вам то 1, то другое. Вот. Итак, что важно?
169: С 1 стороны, начинаем с фронта, потом рак, потом дообучения, если первые 2 не помогли, да, за факты, отвечает рак до обучения больше за поведение, за стиль, за формат, но никак не за фактические зна.
170: Да, они там могут быть, но может и не быть. Вот и здесь вам нужно достаточно много примеров подготовить и дать какой-то эвалуэйшн, иначе получите ерунду. Вот немножко вас поспрашиваю.
171: Ой, у меня тут номера съехали, он с единицы должен быть. Ну, прибавляйте единичку, это браузер заглючил. Прибавляйте единичку в уме тогда. То есть вот это 1, это 2, 3, 4, соответственно. Вот, да.
172: Наша модель не знает про тариф, который вчера запустили, чего тут лучше сделать?
173: Да.
174: Соглашусь, да, то есть правильный ответ это добавить рак справедливо, потому что, ну, переобучить, разорить кара, будете учить на каждый новый тариф. Ага. Вот когда мы понимаем, что пронта уже недостаточно.
175: 0 1. Ну да, вот этот самый. То есть, когда у нас, сколько бы мы не писали инструкцию, да, ответ ломается по формату, тут ничего с этим не сделать. И какие у нас ожидания? Точнее, что точно не даст до обучения?
176: Из этого всего.
177: Ну, 3, в смысле, 4. Да ладно, пишите в том номере, который здесь, чтобы мы не путались, да, действительно, атрибуцию он не даст, потому что он не знает, откуда эти факты взялись, да, они уже впечатаны. Просто вот есть ли сейчас какие-то вопросы?
178: Угу.
179: Я пока посмотрю, не пропустил ли я что-то так, а такого недостаточно.
180: Ну, на самом деле, для 1 тоже не всегда рак помогает, как иногда формат растекается, да, Коли что.
181: Понятно. А как мы будем учить? Да? И, соответственно, что нам надо делать, чтобы мы модельку могли научить? Ну и сразу будем смотреть по примерам, а у нас все в голове.
182: Закрепилось.
183: Тык, тык, тык, тык. Нет, вот у нас в примерах, они у вас тоже есть в гите. Можете себе сканировать, да, и если видяха позволяет, то можно это все делать. Сразу скажу, что
184: Собраны так, чтобы запускаться и на nvidia msi, и на миксе ну на эту вот на эппловском пути, то есть если у вас mc более менее, ну mk какая-нибудь да с хотя бы 16 гигабайтами.
185: То, скорее всего, запустить если больше, то ещё лучше. Либо введя какая-нибудь там какой-нибудь rtx, да, это вообще замечательно. Вот. Соответственно, что у нас есть, да, и с чего мы вообще начинаем любая модель, когда вы её
186: Она к вам приходит в виде файла. Да, это там несколько вариантов форматов сейчас есть это либо тензер, либо gg юф. Да, когда вы получаете модель вместе с
187: Со всей топологией, да, с весами и все в 1 кучу с этими форматами умеет работать студио умеет работать алама. То есть, если аламу локально поднимаете, да, то вы можете установить себе какую-нибудь моделечка, да.
188: И более того, алама также будет использоваться для сборки.
189: Кастомизированной модели, да, с нанесением внутрь неё адаптера. Вот дальше мы должны, да, для того, чтобы корректно все научить, мы должны подготовить датасет, датасет, может строиться в разных сценариях, да.
190: Ну, сейчас, чуть позднее, мы к этому пойдём. Следующим шагом мы делаем непосредственно обучение, да, это можно делать через как консольную утилитку. У нас есть вот такая утилитка, оо, которая
191: Позволяет делать тренинг, да, то есть вы прямо здесь можете делать до обучения внутри неё, да? Ну и потом использовать инференс, да, для того, чтобы с этой моделькой, уже обученной поговорить. Плюс с точки зрения
192: Кода у нас есть такая же библиотека под python, да и часть примеров будет показана все-таки в виде кода мы можем оттуда результаты обучения потом выгружать, например, в виде Лора, Лора, адаптера.
193: Да, и мы же можем запускать это все в веб интерфейсе, там тоже покажу, как делать. Да? Ну и эта же штука, она позволяет стартовать какой-нибудь агент, то есть пермессо, запустить, да, код, код, open код или ещё что-либо прям.
194: Верх этой модели, то есть она создаст проксю, которая будет через модель ходить. Если как бы то, о чем мы сегодня будем говорить, да, оно не только касается поддержки, вы можете взять модель и там научить её на примерах писать код, да, взять.
195: Какую-нибудь контр модель в коде, например, да, или мистраль и её подтюнить под каким-то примером хорошего кода, да, и тогда она у вас, соответственно, будет, можно её использовать вместо кодекса там или вместо coca нет.
196: Вот что такое lara да, давайте сначала пойдём туда и посмотрим почему, в чем основная проблема то у нас состоит да, ну, как я уже сказал, на 8 миллиардов параметров вам нужно очень много памяти, да, то есть вам нужно веса.
197: Хранить. Вам нужно хранить градиенты. Вам нужно хранить оптимизаторы. Состояние оптимизатора, да, который, ну,
198: Связанная с тем, как оценивается ней, да, как делается приближение к локальному минимуму, это, считайте, в 2 раза больше, чем вот эта штука, да, нужны ещё активации, да? Ну, если вы там ещё захотите и по ней гонят.
199: Это вам ещё нужно контекстное окно. Вот. То есть это такой приличный наборчик, да, 90 гигабайт и че то как-то это маловероятно, да, что мы сможем такую модель научить.
200: По крайней мере, в Разумных пределах.
201: Да, я скажу, откуда ставить. Да. Ну, уже, в принципе, Михаил ссылочку скинул, действительно оттуда.
202: С амд кстати, да, с амд, да, сейчас сколько умеет работать с. And они относительно недавно анонсировали диски, прекрасно себя чувствуют. 32 гига оперативки. Тут вопрос а если встроенная у вас?
203: Память будет, ну, должно хватить, на самом деле, сейчас поясню почему. Да, потому что лоры как раз предназначены для того, чтобы экономить на оперативке, да, то есть, ну, понятно, что обучить такое количество весов мы просто физически не сможем, да, у нас не хватит.
204: Такого объёма. Ну, далеко не у всех дома есть 2. Это карты обычно чуть попроще, а то и вообще какой-нибудь
205: Это не критично на самом деле. Ну то есть обычно, если есть какой-то gpu и шери, память, да, ну вот на матах, например.
206: Ну, как бы ничего страшного. Ну, то есть.
207: Тут надо посмотреть если там ну вообще должен быть gpu то есть там все равно есть графический ускоритель да, то есть там так или иначе есть какой-то gpu и обычно в таких конфигурациях ну можно на самом деле сходить будет не быстро, это правда ну и на маках на самом деле медленнее, чем на карт.
208: Вот, но в целом можно, да, ну, на ночь поставить, да, за ночь научит, вот это будет не на cpu, все равно это будет на gpu. Ну, можем на самом деле посмотреть для, на всякий случай, да.
209: Для уверенности райзен.
210: А что такое не донёс слов раз.
211: Ну вот они, в принципе, ну тут, кстати, вопрос.
212: Будет ли это на встроенных работать?
213: Не уверен. Ну то есть у упоминается
214: Может и не будет, но в худшем случае он на с переключится, но это, это прям совсем страдание.
215: Да.
216: Я в этом теперь, теперь я уже не настолько уверен. Короче, надо проверять.
217: Окей, так давайте вернёмся, чатик.
218: Ну да, вот. И тут решается. Мы решаем эту проблему, да, до обучения 2 разными способами, да, собственно, аббревиатура, ну, точнее, да, по сути, аббревиатура колора.
219: А, ну окей. Ну зависит на самом деле, то есть, надо смотреть, насколько там, в принципе, джипию пайплайн работает, да, по идее, должен, но
220: Да Бог его знает. Короче, надо посмотреть, как он памятью делится с основной системой. Ещё, если это система, на все-таки можно сказать, вот мы решаем проблему. Ищет аббревиатуру флора, да, это сочетание 2 техник.
221: Которые вместе помогают уменьшить, существенно уменьшить объём используемой памяти. 1 техника называется монетизация. Да, вы с большой вероятностью про неё знаете, слышали, да, кто уже пользовался. Ну, по крайней мере, догадывается, как она работает, когда
222: Мы.
223: Да, тут проблема не в валами, там проблема, скорее всего, в модели была конкретной. То есть вы всегда можете выбрать подходящую модель, ну, там с меньшим числом параметров и не пытаться там запускать 27 миллиардов. Вот автоматизация работает по очень простому.
224: Принципу, да, что мы можем веса, которые изначально записываются в tam фо 32, либо fleur 16, да?
225: Ну, 16, да, если у нас 4, 8, 8 миллиардов на 4, да, нет.
226: Ну, либо 16, правильно? Вот. И делается это супер простым способом, да, когда мы пытаемся как-то перевести это в 16 тире 4 битную шкалу, то есть шестнадца.
227: Значений понятно, что это происходит за счёт частичной потери точности да, но на наше счастье, часть моделей обучены с учётом квантизации, да и если посмотреть по той же самой, ну там, a studio, взять, например.
228: То есть модельки, например, вот такая, да, там, jam 4, 12 миров параметров, которая, собственно, использует её. То есть она изначально была обучена, так что её потом будут кантовать, да?
229: И она, соответственно, будет уменьшена в размере. То есть частично потеря точности, она не повлияет радикально на качество. Вот. И смысл сводится к тому, что в 4 битах, естественно, вы кодируете более компактно тоже.
230: Самое значение, да, и на то есть, получается полбайта, ну, в реальности там чуть больше, чем полбайта, потому что монетизация происходит не всего множества, а там блоками обычно по 64 веса и
231: В результате там есть ещё некоторые дополнительные накладные расходы, но в среднем вы там получаете где-то 0 53 0 55 байта на параметр, да, и это уже что-то изме более
232: Менее внятное. То есть, если у вас 8 миллиардов параметров, да, вам нужно 4 гигабайта памяти, это, ну там 4 с половиной, да, на хранение параметров, это уже что-то
233: Ну, кстати, если по поводу видях, да, я это не к тому, что я тут что-то рекламирую. Я сам пользовался, когда нужно было там погонять вистер Кибирова. Вот я пользовался ран кодом, не могу ска.
234: Что там супер дешёвые сервер решения, да, но можно там, там можно брать на время. То есть вы, ну, собственно, как типичный сервер, да, то есть вы запускаете функцию, она отрабатывает с моделькой, потом заверша.
235: Вирус по секундам. Сколько вы потратили?
236: Ну, потому что далеко не всем нужно gpu там на пота. Вот ладно, возвращаемся обратно, да, и соответственно, тизации есть несколько подходов, да, к тому, как делать сжатие да, собственно группа ку лоре как раз использу.
237: И обозначает, что мы используем котизированных модель, и у нас атизации есть несколько подходов, да, есть как бы просто перевод в равномерную шкалу, да, то есть это выглядит примерно вот так, да.
238: То есть, когда вы берете весь диапазон возможных значений и дробите их на 16 частей и обозначаете, как, куда кто попал, да, туда, кто ближе. Вот так вот примерно и попадает, да, ошибка монетизации примерно 5%. Это довольно прилично на ре.
239: Условиях.
240: Пробовал. Жутковато получается на самом деле.
241: Ну, тут специфика, то есть, на самом деле, ну, как бы, технически, да, может быть, кантование во что угодно, то есть, можно не делать, да, и меньше. Но вопрос какой, что у вас там сохранится от исходной информации? У меня субъект
242: Тивное ощущение, что там не очень хорошо получается, да? Ну, по крайней мере, я пробовал разные фантомные модели, да, и более подходящий вариант. Это, ф, 4, да, нф 4. Это вариант, когда у вас оценивается по квантилям, то есть оценивает
243: Плотность значений и там, где они идут плотнее, там, соответственно, у вас меньше интервал выбирается для того, чтобы более точно превраща, показывать значения, да, то есть, если здесь у вас в целом погрешность порядка 4, почти 5%,
244: Да, то есть здесь погрешность примерно 3 с половиной процента. Вот мы будем
245: Вот, мы будем использовать преимущественно 4, да. Ну и большая часть моделей обучена на ф. 4, но тут бывает точнее, не обучена, выложена 4, но тут бывают разные варианты. Вот что такое Лора, Лора, аббревиатура от Лора.
246: Adaptations, то есть это техника, на самом деле, простая математическая техника, да, которая заменяет не всю матрицу. Напомню, да, что когда вы, то есть, что из себя представляет любая
247: Ну, любой условно искусственный нейрон, да, это матрица обычно квадратная матрица, да, которая принимает на вход вектор, например, вектор.
248: Бендинга да, либо там предыдущего значения и на выход выдаёт какое-то значение, там те же самые значения q kv попадают на основе матриц, и внутри этих матриц как раз живут те числа, которые сохраняют память на
249: Модели. А в чем идея? Лора? Да, Лора супер простая концепция, когда мы делаем, во первых, дельту, то есть мы не меняем настоящую матрицу, да, она остаётся как есть, а мы обучаем небольшую добавочку. Да, и добавоч
250: Которая построена на 2 матрицах. Тут не хочется уходить в финал, вернее, на алгебру далеко, да, там есть несколько терминов оттуда, которые мы можем для себя в голове держать, да.
251: Но если быть очень так, если говорить очень приближённо, да, мы меняем только независимых переменных, которые так или иначе в матрице отображаются в разных, в разных положениях, ну, собственные числа, да, но можн.
252: В это не вникать. Вот. И тут уже карту выбираем. Вот, и смысл сводится лоры вот к такой простой операции, как эта штука работает. Да, сейчас я покажу картинки.
253: Да чтоб вас не напугать совсем. По сути мы получаем 2 матрицы, да, матрицу а и матрицу бэ. Причём особенность Лора в том, что матрица б инициализируется нулями. И как следствие, когда вы ещё не научились, да, у вас
254: Вот эта, эта прибавочка равна нулю. То есть вы получаете исходное значение, то есть исходную матрицу, то, что в исходной модели у вас лежит. Вот, а здесь есть несколько коэффициентов, да, здесь есть коэффициент альфа, есть коэффициент р, да.
255: Р. Определяет, ну, такую внутреннюю размерность. Да, и наша матрица это, по сути, 1 строка и 1 столбец, когда мы их перемножаем 1 на другую, да, математи.
256: Мы получаем тоже самое преобразование, как если бы мы умножили на квадратную матрицу. Логика следующая, во первых, так как б равно нулю, да, до того, как мы начали чего-то учить, у нас вообще ничего не происходит, да, то есть у нас
257: Дельты никакой нету, и мы видим только исходное состояние. По мере того, как начинается обучение, да, коэффициенты в матрице а и б начинают корректироваться. Но тут важный момент. Да что матрица.
258: А и б. Ну в простейшем случае r, может быть, равно единице, да, можно по разному её тюнить, и вы получаете, да, достаточно компактную матрицу ну давайте просто сравним, да, то есть представьте, что у вас исходная матрица, это 4 ты.
259: 96 на такой же 4096. Здесь при р. Равном единице вы получаете 1 строку 4096 и 1 столбец, состоящий из такого же количества, то есть 8 192 вместо
260: Внимательно смотрим, да, 4096, 2. В 12 2. Значит, произведение 2 24. То есть это значит, 16 миллиардов, ой, 16000000, да? То есть вы вместо 16000000 получаете 8000. И понятно, что вы
261: И не сильно влияете на исходные знания, да, но модель Лора, она позволяет вам получить относительно небольшую, да, то есть форма у неё получается такая же квадратная, как в оригинале. То есть вы, перемножая дэ на r, на r, на дэ, вы получаете
262: Квадратную матрицу, да, которая в большинстве мест будет равна нулю, да, или она будет в целом, ну, как бы линейно независимых значений там будет Ровно столько, сколько у вас значений в столбце. Вот, и
263: Самый важный момент, соответственно, что мы с этим можем сделать? Вот эта вот штучка справа называется адаптер, да, и этот адаптер это и есть ваша, да, обычная модель. То есть вы имеете некоторую входную модель, да, базовую. И у вас есть адаптер дальше.
264: У вас есть варианты, вы можете этот адаптер положить рядом, да, то есть вы его не запускаете сразу, и он загружается вместе с вашей моделью, грузится ваш клеем и рядом с ним загружается адаптер. В чем здесь главный плюс, что адаптер можно прям на лету менят.
265: То есть вы можете загрузить 10 разных адапторов, да, например, там заточить модельку под поддержку, эту же модельку заточить там под юрист, да, и в рантайме прям, когда вы делаете запрос, говорите, я хочу с юристом поговорить, да, и выбирать адаптер под юриста. Вот.
266: A2 вариант, когда вы делаете мерж, то есть вы вливаете, ну вот эту дельту, добавляете к исходной модели, получаете новые веса, ну, соответственно, веса собираются из вот этого и вот этого.
267: Вот, и тогда она уже просто будет полностью независимая модель, да, без каких-то накладных расходов, но она уже заточена под конкретную специализацию. Вот часто все-таки адаптеры хранят отдельно, да, чтобы можно было его быстренько поменять и
268: Докрутить обратно. И почти все решения для инференса, они умеют адаптеры в себя впитывать, да, и дополнительно собирать, как вся эта штука работает, да и причём здесь буква к, да.
269: 1, когда у нас, р, предположим, равно 16, да, мы запоминаем, ну, обычно значение выбирается там от 8 до 64, да, чтобы оно не очень большим было, и
270: Соответственно, количество вот этих параметров, р, да, ну, вернее, ширина и высота получается, она влияет на объём памяти. То есть то, насколько сильно вы воздействуете на исходную матрицу. Вот, и вся математика здесь супер прос.
271: Да, то есть мы в режиме Лора, то есть пока
272: Сейчас.
273: Ну, давайте мы, да, сейчас, сейчас смотрю, вот тут у нас есть окантования, да, это режим Лора. То есть это режим обычной лоры, да, адаптера. А когда мы запускаем, да, мы берём исходную матрицу, она квантованная.
274: 4. Да, делаем докантовать. Получаем ф 16. Потом мы получаем дельту с нашей матрицы. То есть у нас есть часть, а и часть б, которые перемножаются, да, мы получаем результат сложения, они складываются с
275: Новый ответ. То есть вот здесь живёт небольшая прибавка на, скажем, да, и поведение, чем вот эта штука, не меняется. А в чем разница с режимом кулор в режиме килора? Мы храним наши эти самые веса уже
276: А наоборот, вот это был режим Тара, потому что здесь
277: Вот здесь мы храним квантованную модель, да, в обычном режиме мы храним неквантованную модель, тогда мы просто складываем. То есть у нас тизации нет. Вот. И если сравнивать по размерам, да, то вот эта вот добавочка, ну,
278: Легко достаточно посчитать, да, на 1 матрицу. Получается в среднем порядка 260 килобайт на 1 слой встраивать мы можем в любые слои, да, то есть мы можем встраивать в k валио и в query потенциально, да, и во
279: Всякого рода промежуточные слои, переход туда сюда, то есть буквально на любую матрицу менять, да, то есть, куда мы можем, да, может вклеиваться в кей кей тюви может вклеиваться на выход аттеншена, да, на
280: Проекции, ну, это опять же, часть, часть трансформера, да, на разные проекции и так далее. То есть мы можем воздействовать на разные аспекты работы, модели, да, как
281: Слов, так, и дальнейшая уже генерация итогового значения. Вот, соответственно, что на что влияет? Почему это важно? Да, потому что когда мы будем учить, если мы это учим в коде, код откроем
282: Кот, кот, кот, кот, кот, куда ты делся, кот?
283: То мы явно указываем, какие именно параметры мы хотим подкручивать.
284: Потерялся. Ладно, ставим вот такие параметры мы хотим подкручивать, да, и в модели трейн. Если мы это делаем кодом, да, то мы явно указываем
285: Так.
286: Сейчас найду, где это в коде у меня.
287: Артефакт. Так, че то я не могу найти, где, где у меня было написано.
288: На какие матрицы мы влияем? Это 100%, это есть. Так, а, ну здесь таргет, модуле стоит линия. Понятно. Ну, то есть 1 из вариантов, можно здесь перечислить их как есть, да, и там будет пример, где есть явное перечисление, да?
289: Либо можно указать линер, то есть он просто буквально на все, ну, на все слои, где
290: В частности, на входные слои он повлияет. А что, что, соответственно, на что влияет? Да, с точки зрения генерации? Во первых, киви, да, эта штука влияет на интерпретацию входного
291: Входной фразы, да, соответственно, о projection на сбор смысла в обратную сторону, да, ну и соответственно, Гейт projection апп projection, это уже на генерацию итогового токена, да, ну и dan projection.
292: Соответственно, то уже влияет на итоговую фразу, да, обычно сокращают до линя. То есть буквально это означает, что мы берём все эти слои, да, но можно явно указать, да, и в исходной статье брали только
293: Q и да, ну и за счёт этого можно уменьшить объём памяти да, сейчас в этом там прямой необходимости нету да, гораздо проще на все влиять, потому что знания распределены и по.
294: Слоям и по этим слоям. Вот почему нам низкого ранга хватает, да? Ну, во первых, с точки зрения данных, да, данных у нас существенно меньше. То есть мы вместо 16000000 мы храним в себе
295: В 28 раз меньше, да, то есть адаптер, он прям маленький. И основная гипотеза в том, что для изменения существенного изменения поведения, да, для адаптации к задаче нам не нужно держать
296: Все 4K параметров, точнее 4K измерений, да, у нас относительно небольшая внутренняя размерность. То есть мы не учим её заново, мы не учим там её разговаривать, да, мы не учим её каким-то там основам грамматики, мы немножко её перестраиваем.
297: На наш домен, да, чтобы это было более понятно. Вот, и математически, да, это выглядит вот так. То есть мы берём там, выставляем какой-то размер, да, у нас есть, например, 64 на 4096 эти 2 матрицы перемножаем.
298: Дают такую же размерность, да. Ну и мы видим, что в среднем адаптер примерно 220 мегабайт при размере исходной модели 8 гигабайт.
299: Ой, ну зависит кантования, да, если тованное, то 4 гигабайт.
300: Вот, да, то есть, собственно, кулор это та техника, да, до обучения, когда мы
301: Учим небольшие матрицы, вот те самые низкоранговые, низкоранговый адаптер, да, и он фактически, ну, и обучение происходит, и все градиенты, и все остальное, они нужны именно для него. То есть, м,
302: Не трогаем. Исходная модель, да, мы учим небольшой кусочек поверх неё, поэтому объём градиентов, объём оптимизатора памяти оптимизатора, да, он довольно компактный. Ну, по крайней мере, он сильно меньше, чем на исходной модели. Вот.
303: Лора, да, это технически просто объединение Лора + 3 дополнительных решения, да, во первых, это, ф, 4, это то самое неравномерное распределение, которое считается по, то есть, где плотнее, там мы чаще ставим
304: Ну, наши значения да, для ступеньки четырехбитной делается ещё pizza самих, пара самих блоков, ну не блоков, вернее, а границ блоков.
305: Да, то есть мы ещё немножко экономим памяти и есть ещё всякие хитрости, да, например, состояние оптимизации, оно выкидывается из gpu в системную память, благодаря чему, да, мы можем больше, ну, в принципе,
306: Если у нас видеокарта не используется, memory, да, можем хранить больше. Вот это важно для того, чтобы модель не упала по memory. Да, потому что оптимизатор, он, наверное, самый прожорливый их всех во время обучения. Вот чего как.
307: Собственно, происходит обучение ничем не отличается от классического обучения любой, да, то есть в прямом проходе мы веса, ну, исходные веса. Сначала Деканте в
308: 16. Потом их.
309: Точнее, получаем какой-то ответ, потом сравниваем ответ с ожиданием, да, по токену и делаем обратное распространение ошибки, да, и, соответственно, корректируем, а и б, не исходную матрицу, а а и б, вот эти вот маленькие веточки, вот, и оптимизация у нас.
310: Получается довольно хорошие, то есть у нас обучаемых параметров сравнению с исходной моделью примерно полпроцента полпроцента, да, то есть у нас адаптер будет порядка 200 мегабайт, ну и чтобы было понятно по факту, да, у меня тут есть уже 1 обученный адап.
311: Автор в артефактах, да, учил я его на датасете. Вот и опа, че удалил его?
312: Здесь может быть.
313: А, ну вот, да, и он получился, это обучение на jam 4, да, он получился 105 мегабайт. Ну, то есть довольно компактный по сравнению с исходной моделью, да, исходная модель, там 8 миллиардов, правда. Ну да, 8.
314: Миллиардов. Вот в чем минус такого обучения, да, то есть по сравнению с обычной лорой, то есть обычная lora, она использует просто полный полноразмерную модель, да, которая целиком должна поместиться в память основной минус, то, что
315: Вам надо делать загрунтован, то есть каждый четырехбитный должен сначала развернуться в исходное значение, да, поэтому в среднем где-то на там процентов 30 40 у вас происходит медленнее, но зато вы можете научить модель, которая не
316: Умещается в исходном развёрнутом варианте можно, можно, можно попробовать да и тут основной фокус в том, как вы будете давать входные значения, да, то есть на 8 миллиардов параметров мы вместо 90 гигабайт получи
317: 4 гигаба, ну, 4 гигабайта на хранение. Плюс вот эта дельта ещё там гигабайт 6. Ну то есть суммарно где-то.
318: Короче, раза в полтора, 2 больше, чем надо, да? Ну, в среднем это достаточно быстро получается. Вот в кулоресов. Ну, то есть, если вы берете 8, чтоб было примерно понятно.
319: Да, расходы памяти. Если вы берете 8 миллиардную модель, то колора при обучении потребует 14 гигабайт видеопамяти. То есть, если у вас, ну, 16, это прям краешек будет, да, если у вас 32 гига, там, юнифайт памяти или ещё чего.
320: Либо то.
321: Ну, модель не понимает, откуда она приходит, но на самом деле, там есть маленькая хитрость, да, что когда вы учите модель, вы указываете источник сообщения, то есть там в чате покажу этот формат. Да, вы явно говорите.
322: Откуда пришло данное сообщение? То есть что-то из фронта пришло, что-то из пользовательского сообщения, да, что-то из рагга. Вот. И за счёт этого можно все-таки частично защититься, да, и, но по большому счёту, да, модель, она не очень понимает откуда
323: Пришло, пришёл, пришёл срок запроса, да, и она будет его выполнять.
324: Вот там-то как раз гаррел, то есть fable 5 они там обвешали со всех сторон, и она в любой непонятной ситуации говорит, не, не, не, я этого делать не буду. Я пошла, я пошла во все, иди пользуйся маленькой модель. Вот соответственно,
325: У 14 миллиардной порядка 22 гигабайт нужно, да, если 32 миллиарда, то тут как бы 44 гига уже даже на коре. Ну и дальше там уже проблематично. Вот на это silica.
326: Если военные процессор, да, то в среднем 16 гигабайт, она вписывается, но тормозить будет жёстко, да, но на этапе обучения можно сделать, но работать она, конечно, медленнее будет, чем на. И у вас есть 2 параметра, да, соответственно,
327: Параметр и параметр альфа альфа влияет на то, насколько сильно изменение эффект сам то есть это как такой коэффициент ну громкости скажем да то есть насколько он
328: Явно корректирует исходные веса. Это можно. Вот. И, соответственно, сколько, какой объём памяти у вас будет, да, стандартно для стиля вам достаточно 8, ну,
329: И альфа обычно в 2 раза больше, а для чего-то более глубокого, там, для форма, ну, иногда формата на 8 не хватает, да, тогда можно поднимать до 16. Вот. Ну и меняйте их не одновременно.
330: Непонятно, какой смысл получили, вот какие ещё параметры влияют на обучение. Ей тут можно немножко потюнить, да, но в большинстве случаев там дефолта хватает.
331: Если у вас количество примеров не больше 5000, то в среднем берете 3, 5 эпох, то есть повторов, да, больше 5000, то поменьше, потому что иначе можно переобучить, да, ну,
332: И адаптеры лучше вешать на все, да, а не только на то, что предлагали в исходной документации, так скажем, вот такие базовые пресеты параметров параметрические, да, если вы хотите просто формат и общую
333: Тон ответа да, скорректировать, то берете р 8, а 16, если нужен ассистент, который уже в пределах своей предмет.
334: Ну, эпоха это просто цикл повторения. То есть вы сколько раз вы прогоняете одни и те же данные, да, просто если сильно много раз сделать, она заучит и она вообще перестанет.
335: Вот.
336: Соответственно, ассистент, под вашу предметную область уже нужно побольше, да, если совсем сложный домен, то р 32. Ну и если там пытаемся залить туда знания, то уже р 64. Ну, вы понимаете, что от этого разбухает ваши матрицы, да, и в среднем довольно много отъедает.
337: Поэтому мы будем использовать вот этот вариант, да, доменный ассистент для себя. Итак, что у нас есть? У нас есть Клён, мы берём Клён по нескольким причинам. Во первых, он довольно шустрый, да, во вторых, он то, в общем, все хорошо.
338: У нас есть задачка в виде базового формата наших данных. Сейчас покажу.
339: То есть у нас есть исходный датасет.
340: А здесь?
341: Вот у нас есть исходный датасет. У меня, кстати, сейчас есть ощущение, что я его забыл в гит отправить, положу потом, вот, соответственно, датасет собирает в себя вот такого вот рода.
342: Да, ну, jazz, на самом деле, то есть свалка этих джейсонов, да, где мы описываем. И, ну, соответственно, фразы со стороны системы, да, в виде пронта, какое-то сообщение, которое как бы написал пользователь.
343: Да, и какой-то контент, который пришёл в ответ, то есть то, что должен ассистент ответить в этой конкретной ситуации. Угу, я понял.
344: Я докину это сделать то давайте сразу докину сампл.
345: Точно нету, говорит, что есть.
346: Очень интересно, дейтасет.
347: Там сделаем.
348: Так.
349: Все, теперь точно есть. Ага, не потеряли ничего, да, то есть у нас есть некоторый трей набор, да, он должен обладать некоторыми свойствами, чтобы он более менее осмысленно мог модель на
350: Да, и дальше мы набор можем загружать в разных форматах. Да, сейчас вам покажу на все. Вот. Плюс везде есть, да, подробно описывающая, что к чему применять, да, какие типовые запро.
351: Ответы мы хотим, да, какие требования к нему и так далее. Вот. И у нас есть некоторое количество Критов, да, для того, чтобы вы понимали, что можно использовать и в автоматизации, да, но посмотрим и просто в интерфейсе.
352: Вот.
353: Да, то есть у нас есть данные, да, то есть наш исходный набор про то, чего приходит на запрос, че приходит в ответ, должно быть, да, в среднем мы используем, стараемся выкладывать 1024 токена. Это не то, что строго треб.
354: Да просто это надо учитывать в обучении и в параметрах тюнинга модели ща, почему она постоянно куда-то пропадает.
355: Терминал, куда ты делся?
356: Так исчез.
357: Терминал от нас. Ладно, мне не жалко, у меня ещё есть.
358: Вот, то есть, когда мы будем задавать параметры настройки, да, то у нас тут есть гора параметров, да, влияющих на среднее обучение, да, то есть это и laura параметры, да, это и то, собственно, как мы учим, и
359: И что мы учим, из чего мы учим, как это все загружается. И, собственно, вот как раз и trainer, да, который её непосредственно здесь есть эпохи, здесь есть параметры.
360: Оптимизаторы, ну, более менее универсальные параметры, которые плюс минус всем подходят, да? Ну, может быть, там, за редкими исключениями, например, можно потюнить, какие там затухания, дропауты и так далее.
361: По разному её настраивать. Вот.
362: Да, да, сейчас я думаю, как бы так его отодвинуть, чтобы он не исчез в очередной раз. А вот так сделаем.
363: Да, сработало. Вот и нам вполне хватит 14 гигабайт памяти. Да, у меня 36. Нормально.
364: Итак, по колоре, да, 1 особенность колора, что берём мы модель 4 битную. То есть говорит о том, что мы берём квантованную модель и дальше к ней будем добавлять адаптер, да, параметры адаптера, там, по сути,
365: 2 параметра это r и альфа гиперпараметров там по сути то никаких и нет, да, там r определяет размерность ну по сути количество знаний да, альфа это степень влияния на исходное да, если
366: Сильно поглупела, можно альфа уменьшить и learning rate стандартный шаг да, типа которым мы ищем наши минимумы ищем нашу модельку. Вот. Ну и число эпох конечно же вот и так как мы
367: Внутри все равно раскантовывать обратно в б. 16, да, то мы в целом получаем нормальное качество, да, и в lari данные хранятся шестнадцатибитные, то есть они не квантуются сами по себе, да, и благодаря этому вы получаете, ну,
368: Уже квантованной модели, хорошую завеску, которая может даже немножко её выровнять относительно квантования, потому что адаптер, он довольно компактный по сравнению с исходной моделью. Вот немножко вас поспрашиваю, какие параметры
369: Обновляется при коре.
370: Отвечайте номером, который здесь написан с нулём. Мы как программисты.
371: Угу.
372: Все так, да, то есть учим мы только адаптеры, это прям совсем небольшая доля параметров. То есть он прям сильно меньше, он влезает. Вот почему, нф, 4 лучше, чем inc 4. Ну, инк 4 это просто равномерный объём 16 четы.
373: Да, и записываем порядковый номер, a4 учитывает плотность.
374: Угу. Да, то есть мы учитываем распределение весов, да, и где весов больше, там шаг меньше, и у нас 800 примеров. Мы хотим просто задать тон и формат ответа, с чего лучше начать?
375: Так.
376: Разные варианты уже есть. Ну, понятно, что р, 128 это маловероятно, да, такие никто никогда не берет. Это надо прям, ну, там, 64, скорее всего, максимум, или 32. Так, либо 0, либо 2. Да? Ну, на самом деле, разумно начинать вот с этого, да, мо.
377: Может быть, даже r 8 р. 4 почти ничего не запомнит, очень слабенькая будет матрица, ну и альфа 4 тоже обычно в 2 раза больше, но из 1 эпохи вы толком ничего не заучите, вот.
378: Делать больше эпох тоже неразумно. Вы просто она выучит дословно ваши ответы и больше ничего знать не будет. Вот какие тут есть у вас вопросы?
379: Сейчас пойдём уже в обучение.
380: Угу. Так, окей. Как верифицировать обучение, это покажу, как делать. And покажу. Да, буквально пару минуток. Да, все-таки хочется рассказать про курс токен. Вдруг кто?
381: Кто-то из вас захочет в него прийти, да, чтобы вы были в контексте. Мы
382: Так, давайте я просто смогу открыть, наверное.
383: Курс, новый курс обещают, что интересный, потому что есть о чем поговорить. На самом деле там постоянно все развивается, да, то есть есть и библиотеки новые появляются и в целом.
384: Коды меняются. В общем, довольно много. Здесь есть интересных аспектов, да, соответственно, курс заточен под, ну, прежде всего, конечно, минимальное использование кода, да, но, как бы, если код есть, то код готовый всегда показывать, да.
385: И курс, ну давайте быстренько пробежимся по программе, да, он заточен под разные аспекты локальных моделей, да, то есть начинаем мы с того, что изучаем локальные модели, как работает кэширование, как работает.
386: Организация. Какие требования там автоматизация, 2 модуль порагу. То есть как рагги настраивать, как поднимать векторные базы, как загружать туда документы, как проверять эффективность, насколько это хорошо работает, да, следу.
387: Момент это агентские системы, да, то есть то, как создавать, как, ну, с помощью ларафа, например, да, как готовить данные, чтобы это, чтобы агента научить, да, как работать с юзом.
388: Ну и вообще, в целом все, что иначе, да, вот эта часть, про которую мы сейчас говорим, это как раз кусочек из дообучения, выравнивания. Н да, это Лора сама по себе, это Тиора.
389: Там struct, модели, да, обучение на инструменты и всякого рода элайнмент. Элайнмент это уже такое, более поздняя стадия, да, когда вы модель, ну, скажем так, называется, она умеет
390: Отвечать фактически, но людям это не нравится, да, и можно таким образом доучить там под конкретные хорошие примеры. Отдельно разбираемся с мультимодальными моделями и с подходами дистилляции, да, и
391: И безопасность, соответственно, ну и заканчивается все проектной работой, да, где можно свою модель поднять, настроить, там для себя это все затюнить и защитить. Вот обучение происходит в живом формате.
392: Как у нас сейчас 2 раза в неделю по вечерам. Ну, обычно в 8 вечера прикольно, что я так узнал, что следующий вебинар в 19:00. Хорошо, что я посмотрел, был уверен, что в 20, вот, и
393: Записи остаются, материалы презентации, естественно, тоже выкладываются, да, и так далее. Вот преподаватели, так или иначе, у нас все практикующие разработчики, либо дата саентисты, либо аналитики там, которые так или
394: Иначе связано с и, да, в разных аспектах. Ну, и знают, как это работает изнутри, да, и могут объяснить, да, показать на конкретных примерах. Вот у нас будет ещё 1 урок 18 августа, там.
395: Как раз поговорим большей частью про рагги да, про верификацию вот. И собственно наверное все да, есть подробная программа. То есть если там захотите почитать подробнее, то вот здесь можно посмотреть pdf, там детально по каждому занятию разобрано чег.
396: Че, че, как вот вроде ничего важного не забыл, вроде все рассказал. Узнать про программу.
397: Вот.
398: Да, может у вас какие-то вопросы есть?
399: Так, в 2017 году я линукс преподавал, в двухтысячных, в начале двухтысячных, ну, на самом деле, долго в образовании, в университете работал, поэтому там
400: Какие-то вебинары я проводил просто на ютубчик выкладывал. Вот, поэтому вполне может быть в отпуске. Я с 2021 года 5 лет уже. Вот, поэтому в 17 я вряд ли мог это о, преподавать.
401: Но в целом было так какие метрики снимать модели, покажу сейчас, как лучше всего понять связь фронте с матрицей.
402: Новые вопросы задаёте. Если бы я, если бы кто-нибудь знал ответ на этот вопрос, то есть вопрос, который вы задали про с матрицей внутри модели, да, это скорее про интерпретируемость, про то, как модели думают, да, и про то,
403: Вообще, че происходит?
404: Справедливости ради, да, нужно. Ну, давайте аккуратно, не уходя в математику, мы, и никто, собственно, не знает, да, что каждый параметр обозначает, да, что связи внутри обозначают. То есть модели, ну, во первых, они обучаются, начиная с
405: Случайного заполнения, да, и потом эти случайные веса корректируются в сторону, чтобы соответствовать ожидаемому ответу и по факту это, ну,
406: Сейчас я вспомнил, что я в прошлом учитель физики, да, у меня сейчас аналогии приходит в голову. Ну вот представьте себе голограмму.
407: Видели или догадываетесь, как это работает, да, в ограмме, там в каждом кусочке записана, по сути, информация про все. Да, и здесь примерно такая же история. По большому счёту, нельзя сказать, какой коэффициент матрицы отвечает за конкретный вывод, да, то есть они все вместе совместно работают над тем, чтобы
408: Там все эти матрицы, да, они дают какую-то общую картинку, такую образно, да, каждый из них, он содержит знания, ну, все, матрица содержит знания из совершенно разных областей, да, и разных разных взаимосвязи. Вот.
409: Да, поэтому интерпретируемость довольно тяжёлая штука, да, даже в этом случае никто на конкретные матрицы не смотрит, да, то есть смотрит на промежуточные результаты, то есть путешествие токена по всей этой цепочке, да, но вот
410: Поэтому если так все просто было да, то если бы люди действительно знали, что там каждый коэффициент матрица обозначает писать thirty было бы лучше и доказывать их, доказывать их даже не эффективность, да, а просто хотя бы предсказывать, что она выйдет.
411: Да, это она, она по большому счёту, она не то что сложная, она скорее бесполезная, потому что мы внутри, это для нас шум, да, что там происходит между слоями? Это довольно сильно шумовое, потом оно приводит, да, в конечном счёте.
412: Кто токену, да, который в этом месте более. Вот давайте пойдём в обучение, да, и, собственно, что для нас важно? 1, запомните это вам.
413: Абсолютно не важны гиперпараметры. Почти всегда гиперпараметры не влияют на результат. Да, это может чуть чуть улучшать, ухудшать качество, но куда важнее это примеры. То есть насколько хорошо вы разметите датасет буквально
414: Такая аналогия, да, если вы в половине примеров напишите, что вы говорите. Здравствуйте, а во 2 половине напишите, что вы не говорите здравствуйте. Она будет отвечать 50 на 50, то будет говорить, то не будет говорить толку от того, что вы её так научили. Никакого. Да, и вам надо очень тщательно выверить.
415: Сходные примеры, да, и надо понимать, что модель при таком обучении, она не копирует смысл ваших примеров, она копирует манеру ответа, формат и так далее. Да, если мы посмотрим на наши меточки вот здесь
416: Да, сходим.
417: Вот то мы можем увидеть, что
418: У нас здесь совершенно разные разные сообщения.
419: Так, а че же дду? Ну, рассуждающие модели, они радикально отличаются только наличием внутреннего диалога, по большому счёту, да, то есть, ну вот оттуда можно узнать, че у них там внутри происходит, да, но это опять же,
420: Связано напрямую с числами. Вот как, что, собственно, здесь у нас есть, да, у нас есть совершенно разные форматы, да, то есть, например, как настроить чаевые на терминале, что в этом случае модель должна делать
421: Да, или там код 51, да, или ещё что-то. То есть мы стараемся собрать себе какое-то количество входных данных, да, которые пользователь может нам написать. Это может быть живые запросы, но тщательно отфильтрованные, чтобы были, ну,
422: Хотя бы разные. И чтобы не было противоречивых ответов, да, например, мы должны, во первых, дать структуру, да, вот мы здесь структуру явно описали. То есть прям в системном проте мы пишем, ты инженер поддержки, отвечай по структуре. Диагноз действия, тип, что будет происходить?
423: Вот и контент должен соответствовать.
424: Ну, как бы, как обезопасить себя, выверять дату. То есть, в любом случае глазами её надо отсмотреть хотя бы разок, да, иначе вы можете научить её нечаянно, не тому, что нужно, да, то есть, если вы сказали, что нужно возвращать в формате, и пишите в этом формате
425: Да, и ответы должны быть максимально релевантными, да, максимально соответствующими стилю и при этом непротиворечивыми, да, потому что если будет написано, что вот, типа back по услуге товара физического нет, да, там
426: Что, соответственно, мы будем писать в ответ. Вот если будут какие-то противоречия внутренние, она их запомнит. Ну типа, окей, возвращает 401, да, вот какая может быть причина можно делать синтетику.
427: И, например, но это часто делается, когда вы берете входной, прогоняете его через какую-нибудь модельку и просите переписать в другом стиле. Синтетика в среднем улучшает.
428: Ну, как сказать, качество заполненных данных, да, просто потому, что вы будете получать 1 одни и те же параметры, ой, одни и те же фразы просто в разных стилях, да, и это добавит дополнительной вариативности, скажем,
429: Исходный набор. Вот. То есть от того, как вы разметите данные, да, сильно зависит то, что, собственно, вы получите, что умеет читать низатор и чему он может учиться. Есть несколько вариантов, да, 1.
430: 1 из вариантов это сырой корпус. То есть вы берете просто статьи из википедии, книги, все, что угодно и скармливаете её в модель. Да, это чаще всего используется на этапе обучения модели, да, когда она прочитав
431: 1000000 книг, да, учится предсказывать токены и запоминать это вот и крайне редко используется для дообучения. Это можно делать, да, и технически в слов можно накидывать такие вот пустые, ну просто
432: Просто произвольные документы pdf, что угодно, да, но.
433: Тут можно наловить себе как раз и projection, да, и, ну, в общем, все, что угодно можно вот следующий сценарий, который как раз, ну, может использоваться у нас, да, ну, мы используем.
434: На самом деле, мы используем скорее Истра. Правильно? Правильно? У нас, у нас запрос, поэтому, да, может быть стра, это вариант, когда вы определяете инструкцию, да, ну, по сути, пром. И пишите пример ответа, который должен быть на
435: Это обучение, господи, сперва Котюнин, да, то есть вы заранее прописываете ожидаемый ответ и передаёте его модели в обучение конверсейшен подразумевает какой-то диалог, он может быть несколько Шагов, да, может быть.
436: Как у нас, то есть фактически у нас есть обращение какой-то ответ оператора, да, это тоже к этой же категории относится различие только в том, что мы помечаем Роли, да, где у нас систем, где ассистент, где юзер, вот, и самый сложный это
437: For learning, когда вы уже явно обозначаете хорошо, плохо, да, или там, соответственно, постфактум это маркируете, да, либо ещё что-то. Вот в нашем случае это обычный конверсейшен.
438: Да, и мы можем использовать эти для rt в коде есть трейнер, ну и соответственно, есть внутри. Вот.
439: Да, если вы хотите Енин, то нужно, соответственно, ранжировать ответы, да, и писать как хорошие, так и плохие, да, для того, чтобы модель могла на негативных примерах тоже учиться и избегать. Вот для инструкций часто используется
440: Формат альпака альпака это вот как раз, ну здесь не он, а это у меня здесь был альпака.
441: Если, кажется, он был, ну да, здесь, здесь разобрана. Так уже когда мы
442: Записываем 3 столбика, ну, там 3 в джейсоне поля, да, или, соответственно, 3 поля. Это фронт, это вход и выход. То есть, типа, вот это наш Фронтик, да, вход у нас, где у нас вход.
443: Вот как настроить чаевые на терминале и выход диагноз, да, что нужно написать? Вот довольно популярный формат, да, потому что его достаточно легко выгружать, легко читать, вы можете не писать входные данные, да, то есть можно просто
444: По фронту написать, какой должен быть выход. Ну, тогда это будет такой дженерик ответ на входящее сообщение. Вот в нашем случае важный вход и выход. Вот. A2 формата. 2 формат называется gpt, это история.
445: Диалогами, да, то есть когда у вас есть переписка и вы пишите историю конверсейшен да, там from система ну from собственно Фром хьюман, там списали за март Фром gpt бла бла бла, вот такой-то ответ human, а если не придёт
446: Ну вот в таком духе, да, то есть вы учите его на последовательности сообщений для того, чтобы можно было уже делать полноценного ассистента диалогового, а не просто там на 1 ответ. Вот, и есть ещё несколько формат.
447: На самом деле они зависят от того, какая у вас базовая модель, да, то есть, если это у нас
448: Квн
449: Насколько я помню, сейчас посмотрим.
450: Не, он, ну, как бы, смотрите, вы когда будете импортировать, да, вы, мне сейчас надо уже показывать этот самый, давайте мы ослов поднимем сейчас, и там будет легче понять, откуда это берётся. Вот вы исходные данные исходные, да?
451: Отправляете в разных вариантах, да, то есть либо в джейсоне, либо в csv, либо ещё в чем-то. Да, и можно, в зависимости от того, что вы хотите. То есть вы делаете какой to instruct. Ну вот есть запрос, есть ответ, да, минимальный, или же можно собирать диалог.
452: Событий. Вот, может быть вот такая разметка, да, соответственно, вы точно также помечаете, какая часть относится к системному пронту, какая часть относится к её сообщению, да, что относится в модели
453: То есть в инструменте, когда вы будете загружать или когда вы загружаете это в код, да, с чатом то?
454: Вот когда мы загружаем это в наше обучение, мы как раз используем чат.
455: Без model. Вот, да, где мы собираем вот такой вот чат эмей, да, это Кленовская разметка. Все правильно заклинило под вечер, и мы собираем себе на вход наш
456: Вот такую вот структуру, да, то есть мы буквально конструируем структуру.
457: Вот мы загружаем наш датасет, да, и собираем вот такой вот чат, комплейт, господи, где-то он у меня тут был.
458: Который использует вот эти самые части стракта и
459: Надо найти.
460: Возможно, что он у меня лежит. Так, да, вот. А, а, это их собственный, да, там есть штатный.
461: И мы где-то здесь.
462: Так это мы используем токенизатор, это шаблон.
463: Тут просто 100% где-то должны использоваться вот эти переменные. А, ну они используются уже внутри, да, потому что мы при обучении их передаём. То есть что, где инстракшн, где ответ?
464: Вот, и смысл в том, что мы наши сообщения собираем вот такие вот структуры, да, вот как раз делает apple, использует токенизатор и токенизатор собирает данные.
465: Вот вот из этой штуки.
466: Bring да, мы берём трейн все правильно, потом к этому трейну мы применяем да, вот вот у нас есть messenger, потом эти мессенджер мы обрабатываем.
467: Вот, все, все, да, все хорошо. Я в коде запутался. То есть мы собираем в 1 из форматов для того, чтобы дальше передать её уже непосредственно в обучение, как мы это применяем в коде, да, еесли используем код.
468: Есть заготовка оо, мы прежде всего про, но сегодня говорим, да, есть заготовка чаплей. В свою очередь, мы используем какой-то из шаблонов. Тут важно, что разные модели ожидают разные вот эти маркеры. То есть, если это Клён, то
469: Нужно вот в таком формате размечать, да, чтоб дальше оно правильно интерпретировалось. То есть мы забираем чате, да, и дальше можем заполнить его нашими сообщениями.
470: Ну, в разных сценариях, да, то есть можно комбинировать историю чата, да, если мы и забираем, либо просто забирать запрос, ответ и их раскладывать в последующие строчки, вот сколько нам нужно примеров.
471: Зависит от того, что мы хотим получить. То есть, если там относительно просто научиться формату и вот эти минимальным знаниям понахвататься, да, это до пятиста, да, если вам нужно уже какие-то знания в доменной области,
472: Побольше там до 5000, ну и какая-то сложная поведение, то уже десятки тысяч и там вы просто запаритесь собирать эти данные. Вот. Причём они в хорошем качестве должны быть. Да, и если у вас совсем мало примеров, то лучше про
473: Ничё, ничему не научится. Какие правила хорошего? Во первых, они должны быть в 1 стиле, да, то есть 1 структура, 1 формат ответа, да, 1 примерно ожидаемое содержание где-то.
474: Говорите на ты, где-то на вы и так далее, да, должны быть разные входы. То есть не должно быть там просто пере, какой-то перепере, да, к 1 и той же утверждению, да, вам нужно
475: Делать разные исходные значения, например, там такая ошибка или там я хочу деньги вернуть и так далее. Да, лучше, когда будут исходные тексты, оригинальные, да, например, там, какие-то печатки, жаргон или ещё что-то, да, чтобы модель поняла.
476: Так пишут, да, можно и нужно писать примеры отказа. То есть, например, там, если пользователь запрашивает какой-нибудь токен, сразу говорит, что это секретные данные не предоставляются и очень аккуратно с персональными данными.
477: Куча примеров, когда на до обучения модели скармливают туда какие-то
478: Примеры с номерами телефонов и прочее. Она запоминает эти номера телефонов, а потом их спокойно можно внезапно извлечь, когда вы начнёте с ней вживую разговаривать. Да, она не понимает, что эти токены запоминать не надо. Вот. И что хорошее, что плохое, да хорошее.
479: Например, у вас вот есть какой-то вход от пользователя, да, дальше вы даёте внятный ответ по структуре. Ну и оно хорошо воспроизводимо. Плохой код, например, проблема с оплатой. Дальше начинаются смайлики, да, там какие-нибудь. Здравствуйте, спасибо за
480: Обращение, которое вам, ну, короче, ответ, который абсолютно бессмысленный, да, который вы вряд ли захотите увидеть в ответе ассистента. Вот пользы от него 0 такое делать, конечно, не надо, он это запомнит хорошо. И
481: Крайне аккуратно с входными данными, да, то есть, смотрите, делайте дупликацию, то есть проверяйте, чтобы у вас данных не было повторов, полных повторов, да, потому что это повлияет на, ну, скажем так, запоминаемость конкретных примеров, да, и вы, по сути,
482: Для отдельных примеров у вас будет несколько эпох, потому что вы 3 раза показали, да, и это может в целом снизить качество из за переобучения, да, обязательно делайте деление на её набор.
483: Набор, то есть у вас 1 могу заметить, да, что у меня тут тоже лежат 2 примера.
484: Посмотреть, да, то есть везде есть train набор, ей набор, потому что, ну, иначе вы не узнаете, насколько она хорошо научилась, да, и
485: И если вы, да, делайте это до того, как вы будете делать какое-то обогащение, да, например, наращивание за счёт перефразировок. Иначе есть риск, что валидация сломается вали.
486: Будет находиться даже, ну как кто-то из набора, да, и смотрите за макси, да, то есть все, что больше этого значения, оно будет отрезаться, есть там лимит, который ограничивает количество
487: Вот, соответственно, как мы собрали вот этих примеров, да, это выгрузка тикетов. То есть посмотрели на живые примеры, да, вот они реальные, какие есть, выбрали только те, которые закрыты без эскалации и с хорошей оценкой, да, потому что
488: Считаем, что, значит, мы отвечали правильно, да, вырезали данные, если таковые были, да, выкинули все, что длиннее. А вот руками онаписали, чего не хватало? Да, например, отказа данных нет. Нужен номер операции мало. А вот
489: И в итоге там остаётся, дай Бог, что 1 7 часть это уже неплохо для входного датасета.
490: Вот, да, этот файл мы дальше передаём в обучение, да, он может выглядеть тут супер мелко, но принцип, я вам его показывал, да, то есть там, может быть какой-то типовой случай, потом проблема с тикетом, где тикет за
491: Автоматически и, может быть, где данных недостаточно. Да, и он пишет, что невозможно определить, потому что пришлите номер операции, не можем без него сделать. Вот чем можно это делать. И вот как раз
492: 21 50 есть 3 инструмента ну 3 крупных да, это асо, который работает на всех платформах, да, есть studio, она работает под винду и под линукс и
493: Есть лама факторе, которая, по моему, тоже работает под или не помню. Ну, короче, под Макс полноценно работает только вот этот товарищ. Вот все остальные надо
494: Посмотреть, кстати, платформа, вот чем он хорош. Ну, во первых, у него довольно хорошо сделан, да, там сильно переписали, делали оптимизации, да.
495: Некоторые оптимизации по промежуточным тендерам, там это влияет на объём памяти при обучении, да, в целом даёт хорошие, хорошую точность, да, ну и свой
496: Чекпоинтинг это, по сути, контрольные точки, да, когда мы там смотрим, не проскочили ли мы на минимум. Наша оптимальная точка. Вот че он умеет, да, он умеет работать с кучей моделей, включая мультимодал.
497: Да, поддерживает ст. И выравнивание есть, ну, в принципе, да, 4 beat своя тизация, которая даже чуть более точная, чем ф. 4.
498: Да, можно экспортировать адаптеры, можно экспортировать слитую систему, схемку, да, она может отправлять работать на, на куде. Есть сборка по дду, надо проверять и, соответственно, канал.
499: Тоже работает, да, и никаких проблем с лицензией нет. Да, можно спокойно тестировать, да? Ну, про 4 бита просто скажу, да, что чуть чуть экономит.
500: Чуть чуть хорошо. Лучше работает с выбросами, но в целом он более менее похож. Вот как его ставить, устанавливаете скитом, вот устанавливаете скитом, ну, на винде.
501: Соответственно, через арм на линуксе то поставится. Вот. И вы получаете готовый инструмент студию, да, он детектирует вам вашу бяку.
502: Studio да, и откроем на у меня уже она запущена на по 10 88, я просто её сейчас здесь открою.
503: 10 88. Вот, вот так вот он выглядит.
504: Да, наличии.
505: Да, вот так вот он выглядит, соответственно, что здесь есть, мы можем, ну, пользоваться, а студио, да, то есть мы можем с хаба загрузить какую-нибудь модельку базовую, например, 27 миллиардов, да, или к 3 и 4.
506: Вот можно её загрузить в память и качать с ней тут же, да, плюс поддерживается работа с кодом, поддерживается загрузка фоточек и видео на самом деле, ну, в зависимости от модальности модели.
507: Все, она загрузилась, типа умеешь, можно включать, выключать. Вот он там дальше начнёт че-нибудь генерить, пошёл создавать токены. Вот.
508: Могу создавать текст, сценарий, сценарий вот что бывает с четырехмиллиардным моделями необычно.
509: Да, и для нас самое важное это train, то есть то, как модель учить, да, из чего её учить? Тут несколько важных моментов, да, в трейне нам надо построить датасет, то, из чего мы её обучаем.
510: И можно настроить гиперпараметры да и настроить метод соответственно методы которые здесь поддерживаются это Лора Лора обычная полноформатная да full файнтюн это целиком учить модель ну и continue training это по сути ну.
511: В некотором плане можно разновидность на более глубоко закапывается в модель. Вот у нас сейчас выставлено н 3, 5. Так.
512: Какая-то 4 по моему была 4. Это самая миллиардная.
513: А она не загружена, да?
514: Ну, может и вот, и основная основной фокус это датасет. То есть, собственно, из чего мы можем её доучивать? Да, можно взять датасет какой-нибудь из готовых, да, например. Ну, тут, в принципе, есть
515: То, что на поверх Кена делается, да, там всякие математические и прочее, можно выбрать локальный, да, и локальный собирается на основе рецептов. Рецепт это не только источник данных, это ещё и трансформации, да, то есть когда мы делаем, да, рецепт
516: Мы создаём новый рецепт, можно начать его пустым, да, это руками его сделать. А можно сделать его?
517: Вот, можно сделать его из, да, можно сделать ленин ресет, сайт. Вот. И тут разные варианты, например, инстракшн, да, то есть, по сути, это вот как раз создание пар на
518: Ну, под ответ да, можно брать пдфки, брать документов и разного рода там преобразования через python и так далее. Вот мы схитрим.
519: А у меня есть заготовленный джейсон, в котором уже собрана, собран хайплайн. Я поясню, как он работает. Вот.
520: Да, если mc то поддерживается это в иксе соответственно ну микс это отдельная библиотека которая работает ну как куда вот она в целом медленнее, но зато работает.
521: Вот, соответственно, что вам здесь нужно будет выставить, выставить базовую модель, да, на котором вы учитесь.
522: Метод обучения, да, параметры там, гиперпараметры обучения. Ну, давайте посмотрим, да, то есть здесь мы выставляем длину контекста. Лернинг рейт обычно 2, 2 десятитысячных по умолчанию, да, и потянить можно лор. Вот тут параметры.
523: Это регуляризация, если его там уносит куда-то здесь можно включить Target модули и настройки оптимизатора там и так далее, но обычно это не требуется менять да, то есть самое важное это
524: Потребуется. Вот плюс мы можем вот сюда просто закинуть файл.
525: Давайте попробуем это сделать, так это сделать.
526: Так вот они у меня все так-то от, ну вот, например, support трей.
527: Так и унесём его сюда, бросаем джел, можем посмотреть наш. Она его не распарсила. Точнее, он говорит детектор.
528: Chat conversations то есть chat понял уже хорошо значит он в принципе парсить должен нормально вот делаем апло уже запоен да и загружаем в файл это будет эвалуэйшн то из чего?
529: Мы делаем проверку в нашем случае это может быть vale, ну то есть такой же, только для
530: Для валидации, да, насколько он на эти ответы будет давать правильный, адекватный ответ. В дальнейшем вот мы все закинули. То есть у нас есть пресет валидейшен сет, выставлен режим колоры. Модельку мы забираем из Одесса.
531: Токен и дальше собственно учим да нажимаем start training и оно поехало учиться.
532: Где-то здесь, да, вот он показывает прогресс загрузки, то есть он, а, ну он ещё решил модель саму скачать.
533: Я не согласен с этим. Давайте мы другую модель выберем, которая есть.
534: Ну, 2 б есть точно.
535: Вот queen 3, 5, 2 б, здесь все выставлено старт тренинг.
536: Да, все моделька есть.
537: Сейчас он её загрузит в gpu и, соответственно, пойдёт пойдёт учиться.
538: Да, вот, то есть он, он правильно распознал формат для диалога, да, и ща он 1 там начнёт обучаться и в конечном счёте результатом будет вот че пишет, да?
539: Нашего компа, че там как? Да, и, собственно, вот идёт процесс обучения, соответственно, есть функция потерь, да, можно смотреть, где там минимум. И пока идёт 1 эпоха, там по умолчанию 3 эпохи, по моему, стоит.
540: Ну и вот все параметры, да, в процессе обучения, которые у нас накопились. Дальше он, ну, пусть пока учит, да, там будет бегать. Джипию загружен по самое, не могу темпера.
541: С вашего позволения, отключу охладитель под ноутбуком, потому что иначе сейчас на тормозит. Вот. И надеюсь, что все будет нормально. Ну, ему надо 3 раза прогнать, да, для того, чтобы
542: Научиться на нашем сайте. Вот это самый простой сценарий, да, то есть буквально поднимаете студио, закидываете туда файлики, закидываете, выбираете модельку и вот оно само работает. Да, ничего делать для этого не надо. Замечательное.
543: А закончит о чем ещё вопросы есть?
544: Да, соответственно, что мы здесь выбрали, да, мы выбрали режим, мы включили трейн, да, когда мы закончим, мы можем сделать с, посмотреть, че в конце получилось, да, какие форматы принимаются. Принимается сиэсви.
545: Столбиками джейсон эл вот джейсоны 1 на строчку пдфки ток x пакет это далеко и соответственно, формат он сам интерпретирует да, мл это мессенджер.
546: Меня вот просто закидываем, да, смотрим, привью и все хорошо.
547: Да, когда датасета нету, то мы можем сделать дата ресай, то есть собрать, сгенерировать сами данные. Да, тут варианты следующие. Я сейчас боюсь его прерывать, пусть он там закончит.
548: Ну, в принципе, я не скажу, что он это делает. Супер медленно, но эстимейшн говорит 1 36, но это, видимо, только на эпоху.
549: Скорее всего.
550: Тренинг спас 50%. Ну то есть, типа
551: Возможно, что он не будет дальше, вот как работает. А, да, вы можете взять какой-то щит, то есть берете какие-то входные данные, да, дальше можно применить трансформацию, например, эти данные прогнать через нейронку. Дальше можно повесить валидатор на
552: Да, и здесь про это тоже есть примерчик, то есть можно сюда посмотреть. Вот, то есть мы можем дать проверку коррект.
553: Нашего ответа, да, то есть, как мы, собственно, делаем, да, у нас есть нормальные критерии. То есть, например, мы там проверяем, что у нас нету приветствия, да, если мы сказали, что приветствия не должно быть, что у нас есть ди, да, то есть мы ищем воду, что воды
554: Method, ищем, что там обязательные части есть. Ну то есть по нашей новой модельке, да, мы её научили. Берём, например, какой-нибудь тестовый набор и проверяем. Ну да.
555: Проверяем по ним, что получается в ответ, и, соответственно, даём некоторую резюме, да, что у нас там водяные, там, где есть приветствие лишнее, да, где корректно указан тикет, да, что длина
556: Не очень большая там, ну и так далее. Вот. То есть можно сделать такую валидацию и такую же валидацию можно сделать внутри pipeline, да, то есть буквально в пайплайн накидываете потом скрипты, которые там по дороге, все, что сгенерировано, он
557: Они отправляют, то есть вы берете си, да, можно сделать что-то из энки, можно просто подкинуть рандомные данные, да, и валидатор валидатор. И это вариант.
558: Когда вы проверяете либо кодом, либо другой, да, насколько 1 даты. Вот как работаем с рецептом, да, если дата, рецепт делаем, ну, во первых, забираем какие-то данные.
559: Для входа, да, дальше, кстати, я могу сейчас открыть ещё 1 окно.
560: А, ну все, тренинг, да, вот мы сделали тренинг, да, теперь мы можем сделать компе чат. Ну, во первых, по, да, то есть экспортировать можно, причём экспортировать её можно вот наш тренинг там, да, и мы можем экспортировать её, как
561: Адаптер только, да, 100 мегабайт размером разные форматы не загружается. Значит, э, либо как magic модель, то есть просто перешить нашу исходную модель обратно в, ну, уже с добавлением наших кусочков.
562: Вот. Плюс можно выгрузить наш любимый, да, и выставить здесь автоматизацию, то есть прямо перекантовать её во что-нибудь рекомендованное. Типа, вот можно ещё добавить important матрикс, это чуть влияет на качество.
563: Вот, и если мы делаем не экспорт, да, мы можем сделать чат, комппер, чат, комппер, чат, комппер, н, вернуться. Ну, давайте экспорте сначала.
564: Тени
565: Да, он сейчас там возьмёт чекпоинт, её экспортирует в виде весов. Вот он, кстати, делает мерджинг веса, сохранение 16 и потом квантование, в общем, богатый процесс, да, и вы получаете обученный 3, 5 под ваш конкретный
566: Вот самое клёвое. Ох ты, ёлки.
567: Out.
568: Короче, я не знаю, че его заклинило. Не должно было так. Самое классное, что здесь есть, это вот у нас есть катран, да, и мы можем сделать компа, то есть загрузить уже нашу обученную модельку, да?
569: И посмотреть, как она себя ведёт на реальных сообщениях.
570: На неё вот все загружено. Наша оптимизированная, да, и мы пишем сообщение. Здесь пишет базовая модель ответа. Здесь пишет наша модель, да, то есть, типа ушла ошибка 51. Вот.
571: И смотрим это пишет про андроид какой то зачем-то.
572: Да, это ушёл думать, думать, ушёл думать. Надеюсь, что он дойдёт все-таки до ответа. Да, ошибка 51. А при там при нехватке авторизации возникает, ну и так далее. Забыли пароль.
573: Явно другое сообщение, да, ему явно не хватило этих самых сценариев, да, потому что здесь нет ни формата, ничего. Ну и плюс исходная модель может быть туповата. Может быть, надо было подогнать альфа. Ну, во первых, там у нас была
574: Эпоха, не успел выучиться, и, возможно, требовалось р. И альфа подогнать побольше, да, но все-таки видите, что и что это ошибка авторизации. Он теперь знает здесь ответ был совсем от Нерик вообще мимо нас. Вот.
575: Хочу вернуть товар, ну и так далее. Вот это такой супер простой способ быстренько оценить качество ответов. Да, и, ну дальше можете экспортировать модель, использовать её у себя про трей, то есть в смысле
576: Про рецепт, да, буквально сейчас коротко покажу.
577: Ну, как раз про синтетику, да, то есть вы с помощью рецепта можете синтетику себе создать. Ну, это мы сами только что с вами сделали. Ну вот, да, тоже самое вернуть товар. Ну, тут на самом
578: Тоже не то чтобы очень много здесь тоже вот что включать навигационный набор обязательно. Когда вы делаете навигацию, обязательно включайте несколько важных частей. У вас кроме ответов
579: Ваши, да, должно быть. То есть вот у вас есть контроль контрол 20, да, то есть 20 контрольных вопросов, которые вы используете для теста. Обязательно, когда вы делаете оценку фантюнинг модели, да?
580: Да, сделайте парочку запросов регрессии на generic знаний, то есть типа там назови столицу Австралии, чем отличается от dp, то есть проверить не потупела ли модель. А по уму, если вы видите, что вот эти штуки начинают отве.
581: Какую-то фигню, да, и вы там говорите, столица Австралии, он говорит, вам, сообщает про тикет, да, что у вас там тикет надо открыть, то, значит вы перестарались, да, то есть, может быть, занижать альфу, может быть уменьшать количество эпох, ну, в общем, что-то
582: Надо делать, да, потому что иначе вы просто потеряли все плюсы от исходной модели. Ну, конечно, возможно, у вас была такая цель, но вряд ли
583: Вот, да, ну и здесь валидация, она как раз про это идёт. То есть она проверяет ответы, ну, вернее, вы можете проверить ответы, да, и посмотреть, насколько они адекватные и в случае специализированных вопросов, и в случае
584: Вот.
585: Ещё 1 вариант, что можно делать, можно использовать в качестве судьи другую модель, да, то есть здесь мы, по сути, как бы 2 модели начинают разговаривать друг с другом 1, ну как в ганах это бывает, да, 1 поставляет данные, другая делает
586: Ну и для тех, кому кодом комфортно, да, здесь есть примеры того, как делать конференс. Ну, то есть просто тоже самое, что меня сейчас в чате есть, да, и, соответственно, как делать экспорт, разные варианты, там.
587: Со стороны кода. То есть если вы захотите потом эти самые артефакты собрать, то здесь примерно тоже самое. То есть вы забираете модель, да, и причём забираете её из адаптера. В адаптере есть ссылка на исходную модель, на которой она
588: Дальше сохраняете уже. Вот, ну и стандартно, как это делается. Да, вы
589: Он сейчас, скорее всего, скажет, что нет адаптера и упадёт. Вы делаете так a module file. Ну да, вы делаете модул файл, и в нём вы
590: В нём вы пишите хром, какая модель, добавляете адаптер команды адаптер. И дальше там можно её гиперпараметры настроить. Вот она коде тоже самое делает, да, то есть мы её учи.
591: И потом будет генерить нам наш обычный пример, то есть тоже самое только со стороны.
592: Вот, я обещал показать Алан. Да, давайте сейчас быстренько на него взглянем. Это рецепт, соответственно, как работает рецепт. Да, мы можем и и импорти.
593: Рецепт вот сюда надо закинуть. Джейсончик. Джейсончик мы возьмём
594: Из отсюда. Ой, вот здесь сайтсайт, я сразу его просто в буфер обмена закину и сюда вставлю. Вот. То есть это описание конвейера, да, как видите, он тут такой довольно
595: Ну, собственно, что мы делаем? Да, мы берём за основу некоторый си, то есть некоторый набор наших входных фраз.
596: Он там где-то выше был.
597: Так.
598: Да, вот есть.
599: То есть у нас есть некоторые категоризированные входные фразы, да, с раскладкой. И дальше мы его обогащаем, ну, извлекаем оттуда, например, категорию, ну либо добавляем в данном случае добавляем сгенерированное
600: Да, дальше собираем парафраза. То есть тот, кто будет переформулировать. Дааа, используем ему.
601: В качестве исходной модели, то есть добавляем locale. Модул как адаптер, как провайдера. Потом включаем эту самую локал модул, добавляем её в цепочку обработки, можем накрутить сюда чек, да, в виде пайтоновского скрипта.
602: Который проверяет, например, что мы не нарушили формальные какие-то требования, да, и дальше добавляем инстракшн, то есть промти, да, и добавляем инпут, извлекаем его из неё.
603: Вот оттуда и добавляем, да, это наше все. То есть буквально кубик выхода, кубик входа, кубик фронта, да, все это вместе собирает нам датасет, который дальше можно уже подавать на
604: Вот модель. Ну, в смысле, как ренин набор для обучения, да, здесь есть, естественно, редактор, в котором вы можете все это сами собрать. Я не понимаю, где, где панелька.
605: А вот и да, здесь мы можем накинуть
606: Там.
607: Ну вот, исходные данные, да, какие-то генерируемые поля разных типов есть синтетик персон, можно генерить человечка, можно делать проверки, поэтому джаваскриптом.
608: И у нас, а, ну, в принципе, да, и дальше мы просто создаём текстовые поля, да, то, что они здесь называются инстракшн, инпут и аутпут, это просто наш
609: Название, да, вот видите, просто появляются дополнительные переменные в ответе, ну и они
610: Матрица, соответствующие соответствующие данные для вашей вашего обучения. Ну и дальше делаете ран, да, там запускаете этот самый пайплайн, ну и он вот здесь есть подробное описание.
611: Да, то есть мы берём наш исходный набор, делаем перефразировку в разных стилях, да, делаем валидацию, получаем 3 special блока, которые, а, собирают. И дальше выходом является просто, ну,
612: Вот это выход, который был в исходном сиси. Результат. Ну и дальше выход этого пайплайна можно добавить себе как как обучающий набор для
613: Вот, да, в остальном, в принципе, мы все с вами здесь сделали, да, прогнали, посмотрели тоже самое, как уже сказал, можно сделать кодом, да, можно настроить параметры дополнительные, там выставить, что это клора.
614: И так далее. Базовая модель. Настроить адаптер, настроить расспрашивание сообщений, параметры прогона в ст. Конфиги и экспорт. Дальше в адаптер в файлик сразу закинуть.
615: Вот. Плюс есть ещё 1 вариант. Если вам консоль лучше заходит, вдруг почему-то да, есть ещё 1 вариант, который пишется в виде ямли.
616: Вы описываете ям документ, тык, тык, тык, тык прописыват. А что такое не по папкам? Н.
617: Пошли не по плану.
618: Вы описываете? Я документ, он у меня 0 2, по моему, был. Нет, 0 2.
619: Ща вспомню.
620: Нет.
621: Вот, вот такой вот яек, где вы говорите, над какой моделью вы учитесь, где живёт датасет, параметры тренинга, да, вот это как раз кулор, если четырехбитной загружаете эпохи, вот это вот все пара.
622: Параметры, да, параметры лоры и все. Дальше берете этот файл и запускаете командочкой, но трейн скидываете конфиг файл, он берет датасета, отсюда берет модель отсюда и учит новую модель и загружает её вот сюда как адаптер. Так что
623: Можно запускать также и в консоли, если вам не охота ходить в интерфейс. Вот такой вот красивый инструмент, которым вы в принципе можете научить все сами.
624: Да, так, пам пам пам пам про это, в принципе, ну, это, это секции ямла, да, что можно указать трени, параметры и так далее. Да. Ну и если в ui вы пишите в настройках метода train.
625: В коде конфиги ям, соответственно, вот.
626: Да, обучили, получили обученную модельку, да. Ну и примерно видим, по крайней мере, что код 51. Он понимает, что это ошибка авторизации, да, что это не какой-то, не пойми что.
627: На что смотрим, когда учим да смотрим, на то она должна плавненько опускаться. То есть, если она упала вниз, значит, переучили, значит, надо уменьшать эпохи. Смотрим на валидейшен оо валидейшен лос. Как только начинает расти вверх, значит, модель перестала на оном набор.
628: Работать нормально. Ну и на скорость. Вот ответ получается в виде вот такого тензера. Это адаптер адаптер плюс содержит конфиг, да, и этот конфиг позволяет загрузить адаптер вместе с базовой моделью, да? Ну.
629: И дальше можно вот так вот создать модельку. То есть, если у вас есть module файл, да, созданный, то, а вы делаете просто именованную модель for и она
630: Вот из Флока, соответственно, можно загрузить адаптер, можно разные и
631: Вот, и бывают проблемы. А memory. Ну, это когда перебор по параметрам, да, когда вы просто не помещаетесь по контекстному окну, либо ещё почему, да, когда у вас неправильный чат, шаблон, то есть вы говорите, что вы там используете Клён, а берет
632: Например, она начнёт Бог знает че писать, когда вы учитесь только на вопросы без ответов вы ничему её не учите, да и export тоже довольно тяжёлый.
633: Потому что когда вы выгружаете квантованную модель, вам надо её сначала распаковать, потом закантовать, да, и это может привести к тому, что вам просто не хватит памяти. Но там есть вариант выгрузки в 4 бита просто, и он это
634: Дела без, ой, в смысле без полной загрузки памяти, да? Ну и по лоссам как бы, los не говорит о том, насколько точнее лос показывает, насколько она соответствует вашим ответам. Да, но смотреть
635: Надо наблюдено, и в любом случае надо проверять сохранность общих способностей. Да, до сих пор знает, какая столица у Австралии. Вот как проверить стало хорошо. Да, берете н вопросов как кационную базу.
636: Да, по ним потом проверяете базовую модель и обученную модель, проверяете одно и то же с одинаковыми параметрами одинаковым потом, чтобы увидеть реальный результат, и проверяете по чек листу. Лучше это кодом проверять, да, что если форматировании
637: Делать. Вот, ну и есть всякого рода марки, да, которым можно погонять новую модельку, проверить, сколько она адекватно отвечает. Вот.
638: Да, если у вас модель начинает с ума сходить после 2 фразы пользователя, да, может быть, есть смысл подавать на вход тогда конверсейшен, либо можно вот тот самый джадж использовать, да, то есть вы используете 2 модель.
639: Они между собой разговаривают. Вот, соответственно, на приёмке может быть некая ваша испытуемая модель, да, которая обучена с адаптером, есть какой-то клиент, который обуча,
640: Который, собственно, ведёт диалог, да, это может быть какая-то ещё 1 модель, да, и, может быть модель оценщик, который не знает про обучение, но делает сравнение, вы можете вообще 3 модели использовать, да, если памяти на это хватит. Вот, ну и, соответственно, судья может оценивать
641: То, что там ничего не придумано, запрос недостающих данных, ну и так далее, там-то ответа, в общем, все, что для вас было важно с точки зрения формулировки. Вот, да, ну, сцена.
642: Это то, из чего можно взять. Типа поезд сдох, магаз стоит, да, чтобы такие запросы тоже были корректно обработаны при наличии.
643: Да, и всегда помните, что судья это тоже взрослая модель, поэтому надо оценивать, что она тоже может набрать. Поэтому перепроверяйте себя тоже на всякий случай.
644: Вот если переобучили, уменьшайте, уменьшайте н фрейд.
645: Накидываете общие какие-то запросы, если вы видите, что она потеряла знания и можно делать регуляризацию, да, за счёт добавления рота, чтобы часть, часть, ну, не сильно влияющих факторов отбрасывать. Итак.
646: Мы научили модель, мы почти научили её отвечать в формате, да, при этом на базовые вопросы она должна отвечать как есть, да, берём кучу примеров, настраиваем, закидываем.
647: Да, мораль супер важно. Качество, да, параметры вторичны. На самом деле, в целом вы можете с помощью, о, делать все тоже самое, да, что
648: Только без кода, собственно, и оценку надо продумывать заранее, да, и, соответственно, давать либо какой-нибудь автоматический критерий, либо судью, либо какого-то, какой-то механизм, да, человеческой оценки. Вот финал.
649: Вопросами, а то мы тут задержались уже на час от запланированного
650: Если с нами ещё кто-то остался, это замечательно. Если у нас многоходовый диалог, да какой лучше формат использовать?
651: Угу.
652: Ну действительно, а gpt, да, все так, ну, под номером 1, настоящим, под 0 ненастоящим, это история чата, да, альпака и нужна, когда вы 1 сообщение отправляете. То есть есть инструкция, фраза.
653: Человека фраза. Вот, а что будет, если половина ответа датасет начинается с приветствия? Половина нет.
654: Угу. Да, скорее всего, все приведёт к тому, что оно будет то появляться, то не появляться, да, потому что она не знает. Вот, и мы хотим загру, загрузить нашу обученную модель.
655: Валаам, че из че для этого нужно сделать?
656: Угу. Валидно. То есть в этом случае, если вы хотите в этот формат загрузить, да, то тогда надо сливать. Есть варианты там с тем, когда вы можете просто её докинуть, но алама это не поддерживает.
657: И вопрос про доверие, да, судья поставил в обычной модели 90 против 49%. Можем ли мы этим числам верить?
658: Что нам надо сделать, чтобы мы могли это проверить?
659: Так.
660: Ну, на самом деле, калибровку сделать, да, то есть нам надо погонять судью, да, и посмотреть хорошие, плохие ответы. Сначала проверить, насколько он правильно оценивает. Только после этого доверять реальной оценке. Вот есть ли у вас вопросы.
661: Ну, давайте финалить. Да, я скину сейчас опрос. Сейчас, секунду. Пройдите его, пожалуйста. Ну и сейчас быстрое подведение итогов и пойдём отдыхать. Что вы можете сами попробовать? Да, у себя? Ну, во первых, соберите.
662: Например, да, можно с живых чатиков, да, с ассистента. И закиньте в формате альпака, да, либо chat gpt. Если долгие разговоры выделите из них часть контрольных вопросов. Да, запускаем на
663: Там просто драгон дропом перетаскиваем, запускаем. Все прекрасно работает, да, потом тестирует диалогом.
664: А, ну да, кстати, вот погоняйте судью, если есть желание, опять же, скрипты есть, да, можете позапускать, там, демо, оно.
665: Просто стартует и само по себе работает, да, то есть вам ничего делать не надо, оно, по идее, должно нормально работать где угодно. Вот. Ну и потом можно сравнить до и после, да, что стало, та получится свой адаптер, который вам поможет. Вот всякая
666: Про флору, про инструменты, про про рецепты гиперпараметры и, ой.
667: Да и итоги до обучения это не столько про знания, сколько про поведение, хотя знания они тоже чуть чуть влияют видели, да, ошибки 51 он начал интерпретировать, иначе появилось какое-то доп. Знание внутри, да.
668: Ввиду использования понтования помогает на на слабом железе, да, делать, учить адаптеры. При этом, в принципе, из можно погрузить тот же самый четырехбитный.
669: Уже по обученную, так скажем, вот, либо ставить их рядом. То есть вы делаете исходную модель, квантованную и неквантованный адаптер, загружаете их через тот же самую осовскую библиотеку, да, уже и дальше гоняете.
670: Вот и все решает датасет, прежде всего, да, и проверка качества гиперпараметры они влияют, но это скорее вторично. То есть на плохом датасете вы, ну вот.
671: Да, в следующий раз мы на открытом уроке поговорим про рагги, да, и типа, че с ними делать? И почему они врут, и как правильно тюнить. Если есть желание, присоединяйтесь к каналу.
672: С анонсами других открытых уроков и всякого рода новостями окуса. И если вы проводите опрос, буду крайне признателен. Да, это всегда нас полезно, чтобы знать, что можно было бы сделать лучше.
673: Ну, если будет желание, приходите к нам учиться. Вот.
674: Вопросов новых не прибежало. Замечательно. Очень хорошо. Ссылку на курс. Так, сейчас, погодите.
675: Щас дам, сейчас дам, сейчас дам вкладку не закрыл.
676: Исковые, да, на делась локальные модели. Вот развёртывание локальных моделей, он называется закину.
677: О да, Андрей успел. Да, это он все так.
678: Так, хорошо.
679: Ладно, давайте презентация, презентация будет лежать в bitter, туда же я положу пдфку, 70 страниц размером, которая рассказывает более внятно, понятно про лору и вообще про лору с математикой.
680: Всеми этими штуками захотите. А вот она будет в том же самом репозитории. Я закину её там минут через 10. Сейчас закончим. Угу.
681: Хорошо все ладно всем спасибо что были извините что получилось на час дольше чем ожидалось но надеюсь вам это было полезно и всем хорошего в gitlab туда же куда и мы изначально ходили вот сюда.
682: Будет и пдд, и это самое, это все всем хорошего вечера и
683: Возможно, встретимся с кем-то из нас на следующем уроке, может, на курсе.