GigaChat MAX — новая, сильная модель GigaChat |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2024-11-09 12:30 Салют, Хабр! Прошедший сезон оказался богат на релизы: ровно год назад мы делились новостями о GigaChat Pro, затем весной рассказали об увеличении контекста и улучшении возможностей модели, а совсем недавно завершили обучение GigaChat Vision: мы научили GigaChat понимать картинки и уже пишем про это статью. Спойлеры к GigaChat VisionНаши модели непрерывно развиваются, обретая всё больше новых функций, и о некоторых из них мы готовы рассказать вам уже сегодня!
В последнее время наша команда усердно трудилась над совершенствованием архитектуры всей линейки моделей, методов их обучения и повышения качества обучающих данных. В ближайшем будущем ожидается публикация статьи о поумневших и совершенно новых Pretrain?моделях версий Lite и Pro, но сегодня мы поделимся другой важной новостью. Встречайте GigaChat MAX — самую мощную модель в семействе GigaChat! Модель доступна в Telegram?боте, в веб?версии и через публичный API (в режиме раннего доступа). Чтобы ощутить качество ответов GigaChat MAX, рекомендуем протестировать модель именно в веб?версии, там доступна наша новая фича — красивые и структурированные ответы. Вам понравится! Про красоту ответовМожно сравнить наглядность ответа в веб-версии и Telegram: От версий Lite и Pro модель Max отличает качественно новый уровень внутренних знаний, возросшие способности к логическому мышлению, умение качественно решать практически любые ваши задачи Наши возможности Мы подготовили несколько классных демонстраций работы GigaChat MAX на прикладных задачах. Для некоторых из них важен длинный контекст, поэтому вся линейка моделей GigaChat поддерживает контекст в 32 тысячи токенов. Вы можете:
GigaChat MAX успешно решает не только рутинные задачи, но и способен справляться с более сложными запросами. Правда, иногда для достижения наилучшего результата может понадобиться повторить запрос несколько раз. Мы продемонстрировали примеры задач, с которыми GigaChat MAX успешно справляется уже сегодня, хотя предыдущим моделям такие возможности были недоступны. Всё выглядит хорошо, но стоит помнить, что оценка языковых моделей основывается не столько на конкретных примерах успеха, сколько на показателях метрик. Поговорим о них подробнее. Метрики GigaChat На сегодняшний день измерять качество языковых моделей принято как набором общепринятых бенчмарков, так и сравнением одной модели с другой (SBS). Мы измерили GigaChat на независимом русскоязычном лидерборде MERA, серии открытых (да?да, это вам не <тайный>_MMLU_RU) и закрытых бенчмарков Сбера, а также провели SBS с лучшими моделями на рынке. MERA MERA — это открытый лидерборд, на котором в понимании русского языка и качестве решений различных задач могут посоревноваться любые модели машинного обучения. GigaChat MAX находится в лидерах среди русскоязычных моделей, идёт вровень с самой дорогой в мире открытой моделью LLaMa 3.1 405B и уступает лишь GPT4o (GigaChat MAX ещё не обучена до конца, мы демонстрируем производительность лишь промежуточного чекпоинта — дальше круче!). Также мы замерили производительность последних моделей YaGPT версий 3 и 4 через код MERA.
Бенчмарки GigaChat MAX существенно прокачался относительно модели Pro и сильно развил умение решать математические задачи и писать код.
* Прирост в процентном соотношении — сравнение с текущей моделью GigaChat?Pro версии 26.20. На открытых бенчмарках рост метрик составил 20 %, а на закрытых (часть из них мы позже выложим в открытый доступ вместе с наборами данных) мы выбили дополнительный рост качества на 13 %.
Side-by-side SBS-ответы моделей оцениваются экспертами: чем чаще ответы модели оказываются лучше в парном сравнении, тем больше баллов ей достается. SBS считаются с перекрытием — то есть решение о том, какой из ответов лучше, принимается тремя независимыми экспертами. В момент принятия решения эксперт не знает, какой из моделей принадлежит авторство каждого из ответов, что позволяет сделать сравнение беспристрастным. Важно: во всех SBS?сравнениях ответы моделей получались с помощью параметров генерации по умолчанию (параметры генерации не передавались в API запросы). В таком сравнении GPT4-turbo проигрывает GigaChat?Max со счётом 49/51, YaGPT?Pro?v3 — cо счётом 44/56, а YaGPT?Pro?v4 — cо счётом 48/52 соответственно. Подробности SBS против YaGPT-Pro-v3/v4 Внимательный глаз заметит, что на нашей корзине все три модели (GigaChat MAX, GPT4-turbo и YaGPT) отвечают достаточно хорошо на большинство вопросов. Поэтому ответы из категории both_good проходят дополнительную разметку: по уровню красоты ответа. Получается, что первая SBS?оценка игнорирует красоту ответов, а вторая (результаты ниже) при равной правильности ответов выбирает более красивый. И вот теперь на SBS, учитывающих форму подачи ответов, GPT4-turbo проигрывает уже со счётом 39/61, YaGPT?Pro?v3 — cо счётом 31/69, а YaGPT?Pro?v4 — cо счётом 33/67 соответственно. Теперь учитываем красоту ответа, подробности SBS против YaGPT-Pro-v3/v4Нам важно было создать модель, которая отвечает как минимум на уровне GPT4 (и мы даже обогнали GPT4-turbo), поэтому дальше будем сравниваться только с моделями GPT4-o (и старше, если выйдут). С красотой всё понятно — ответы GigaChat'а стали визуально намного приятнее. Но на замере, не учитывающем красоту ответов, модели показывают себя похожим образом. Мы считаем, что:
Мы за открытость и честность сравнений, поэтому публикуем замеры наших моделей в основном на открытых бенчмарках. Качество генераций предлагаем оценить с помощью более сложных, а главное — открытых автометрик и judge?метрик. Judge-метрики Примечания:
MT-Bench Ru MT?Bench используется для оценки разговорных возможностей, способности следовать инструкциям. В этом бенчмарке судья (другая LLM) выставляет оценки ответу модели в интервале от 0 до 10. В конце оценки за все ответы усредняются. Замер производился на оригинальном репозитории lmsys, также использовался такой перевод вопросов. В качестве судьи выступала модель GPT-4. Для генераций использовались параметры генерации из репозитория, причём если категория вопроса не фигурирует в конфиге, то используется температура 0,7. Для моделей мы проводили замеры несколькими способами. Вот их описание:
Arena-Hard-En Этот бенчмарк содержит разнообразные вопросы преимущественно технической направленности, такие как задачи по математике, программированию, машинному обучению и другим областям. Замер производился на оригинальном репозитории. В отличие от MT?Bench оценка моделей происходит совершенно иным образом. Судья (другая LLM) не проставляет оценку, а сравнивает два ответа: кандидата и базовой модели. На основе этих пар и строится итоговый рейтинг. У базовой модели в таком замере итоговый результат всегда равен 50. Как и предусматривает бенчмарк, тут использовались жадные параметры генерации. Для моделей GigaChat использовались параметры: Для остальных моделей: Почему такие параметры идентичны, объяснит GigaChat: Модель?судья — gpt-4–1106-preview. Базовой моделью выступила gpt-4–0314. Разницу метрик GigaChat и GigaChat Pro с различными системными промптами можно легко объяснить: с системным сообщением по умолчанию (написано на русском) модель довольно часто отвечала на русском языке, в таких ситуациях судья всегда отдавал предпочтение базовой модели. Arena-Hard-Ru Бенчмарк является точной копией предыдущего, только вопросы переведены на русский язык, для прогонов был использован этот перевод. Единственное отличие от замера на английском языке: базовой моделью была выбрана gpt-4–0613. Все остальные параметры полностью совпадают с Arena?Hard?En. Артефакты замеров GigaChat и моделей OpenAI (генерации моделей и судейства) можно подробно изучить в этом репозитории. Arena-General-Ru Ещё одна арена на русском с 500 уникальными вопросами. Все замеры проводились с помощью оригинального репозитория, а моделью-судьей выступила GPT4o. Скриншот из лидерборда покажем ниже: Итог арен: Смесь метрик SBS, арен, автометрик и замеров на бенчмарках показывает, что GigaChat?Max получился очень хорошей моделью. И всё же нам ещё есть куда тянуться ;) GigaAlignment Красота На значимость красоты ответов обратили особое внимание после появления платформ вроде LLM?arena, где пользователи могут сравнивать ответы разных моделей между собой. Такие платформы фактически привели к новой «гонке за качество», где модели вынуждены стремиться не только к точности, но и к структурированности, ясности и эстетике подачи информации в своих ответах.
Красота в подаче информации работает как инструмент для создания последовательного повествования: она помогает структурировать ответ, привлечь внимание к наиболее важным аспектам и организовать логические акценты. Сделать ответы красивыми — отдельный вызов Сделать ответы красивыми было для нас отдельным вызовом. В обучение моделей?предшественников было вложено слишком много. AI?тренеры, редакторы, студенты и даже сотрудники банка трудились над созданием набора данных с самого запуска проекта GigaChat. Просто переписать ответы так, чтобы они соответствовали всем новым руководствам, заняло бы много месяцев. Переиспользование и структурирование данных Чтобы переиспользовать все прошлые наработки и сделать ответы более привлекательными и структурированными, не теряя при этом в фактологической точности, мы разработали ряд конвейеров по их улучшению:
Только после этого данные могут попасть в обучение новой модели. Вот некоторые выдержки из нашей инструкции, которая использовалась для разметки обучающих данных:
Так мы научили GigaChat MAXдавать не только точные, но и красивые ответы. STEM. Science Crowd В начале этого года мы поставили амбициозную цель — улучшить качество данных в доменах STEM (Science (наука), Technology (технологии), Engineering (инженерия) и Mathematics (математика)) и создать более надёжные инструменты для анализа и обучения в этих областях. И эту идею реализовали, создав сообщество специалистов из топовых вузов, готовых помочь нам собрать набор данных. Так появился Science Crowd — проект, созданный для улучшения доменов STEM через сбор и разметку данных. Почему именно оттуда? Данные — это основа, на которой строятся модели машинного обучения, и качество напрямую зависит от того, насколько качественно размечены данные. При этом домены STEM требуют глубокой погруженности в тематику, которая часто сложна для поверхностного понимания. Требования к качеству и актуальности данных могут быть удовлетворены лишь в тесной работе с людьми, обладающими не только знаниями, но и свежим взглядом. Поэтому выбор пал на сотрудничество с университетами: они изучают актуальные вопросы и методы, работают с новыми подходами, и их выпускники и сотрудники всегда стремятся к профессиональному развитию. Как нам это помогло Благодаря проекту Science Crowd удалось повысить качество моделей GigaChat на задачах из области STEM, а также достичь роста метрик на многих бенчмарках, например на MATH и GSM8k. MATH охватывает задачи от средней школы до начальных университетских курсов, а GSM8k состоит в основном из школьных задач на вычисления. Каждый набор данных содержит как тестовые задачи, так и задачи для обучения. В обучающих наборах есть существенный недостаток: рассуждения в эталонных ответах сжаты и не подробные. Учитывая недостатки open?source обучающих наборов, мы решили готовить данные в формате «цепочки рассуждений» (chain?of?thoughts, CoT), чтобы модель могла проходить шаги решения поэтапно. Этот подход помогает модели лучше ориентироваться в логике задачи, улучшая её способность решать схожие задачи в будущем. При этом каждое решение было проверено нашими экспертами. Примеры:
Здесь обойдёмся без подробностей, но обязательно напишем отдельную статью с описанием процесса разметки и подготовки данных в STEM и поделимся тестовыми наборами, о которых расскажем ниже ?. А теперь про результаты. Результаты GigaChat?Max сопоставимы с метриками лучших моделей, таких как GPT-4, хотя модель всё ещё уступает некоторым из них: 53 % на MATH и 92 % на GSM8k. Чтобы удостовериться, что наши модели эффективно справляются с прикладными задачами, важными для студентов и преподавателей, мы собрали и замерили бенчмарки из сложных вопросов по биологии, химии и математике. Эти задания, собранные из российских вузовских учебников, позволяют оценить уровень применимости моделей в образовательных сценариях. Метрики
*SC — Science Crowd
Все замеры проводились с жадными параметрами генерации. Диалоги и работа с функциями За всё время обучения моделей мы постоянно расширяли экспертизу, а с каждой новой итерацией становилось всё больше требований к данным. Наши данные должны удовлетворять следующим критериям:
И критериев становится всё больше, поэтому мы хотим анонсировать будущую статью о наших проектах и методах разметки для формирования SFT?наборов. У нас много опыта в создании разнообразных SFT?данных, и мы обязательно поделимся им с вами. Сегодня же остановимся на функциях. Что такое функции и зачем они нужны? Функции — это внешние инструменты или фрагменты кода, к которым модель может обращаться для выполнения задач пользователей. Они делают GigaChat способным взаимодействовать с различными внешними инструментами для выполнения различных сложных действий и расчётов за пределами чата. Хотя модель не исполняет функции сама, она лично определяет, когда и как использовать их, исходя из своего понимания текущего разговора, данных и описания доступной функции. Как работать с пользовательскими функциями? Главный шаг к созданию функции — это разработка её описания в виде JSON?схемы (своеобразной документации, по которой модель будет пользоваться вашим инструментом). Получив в контексте описание вашей функции, модель автоматически определяет необходимость вызова. Все модели GigaChat всё лучше работают с пользовательскими функциями, которые вы реализуете и исполняете самостоятельно. Несколько примеров функций:
Подробнее про работу с пользовательскими функциями читайте в документации или примере кода для использования функций в GigaChain. Развитие GigaChat в навыке вызова функций Обучая GigaChat использовать функции, мы используем несколько доменов данных. Их можно поделить на две категории:
Ниже приведено сравнение на одном из наших бенчмарков, включающем в себя функции управления умным домом, получения погоды, времени, управления календарем. Там замеряются классификационные метрики того, насколько хорошо модель использует доступные функции.
Интересным преимуществом нашей модели является более функциональный API использования функций (например, в сравнении с OpenAI), позволяющий модели также работать с описаниями возвращаемых значений. Это делает вызовы ещё точнее, предоставляя модели больше информации о доступной функциональности. Примеры используемых нами описаний (осторожно, под катом много кода :)): Установить напоминания (set_reminder):
Узнать погоду (get_weather (no_return)):
Агенты Мы уже начали применять GigaChat MAX в агентных системах (готовим пост для Telegram?канала и статью на Хабр), модель отлично показывает себя в качестве основы для построения агентных и мультиагентных систем. На базе GigaChain, GigaChat МAX и adaptive RAG мы сделали внутреннего бота техподдержки, и он показал прирост точности и качества ответов с 75 % (Pro) до 87 % (Max). Giga токенизатор При обновлении флагмана GigaChat существенно улучшили токенизатор: он эффективнее кодирует текст и обрабатывает языки программирования вместе с LaTeX. Последним двум мы уделили особое внимание: благодаря добавлению частых ключевых слов, поддержке пробелов, табуляций и переносов строк повысилась точность работы с кодовыми данными и улучшились итоговые метрики. Токенизатор делит текст на «кусочки» (токены), которыми впоследствии оперирует языковая модель для анализа и построения текста. Задача токенизатора — делать это максимально эффективно, а эта самая эффективность обычно измеряется либо с помощью фертильности, либо подсчитывается среднее число символов на один токен. Эффективность кодирования необходима для оптимизации инференса: важно, чтобы модель генерировала больше текста за то же количество токенов. В приведённых ниже замерах мы демонстрируем возросшую эффективность кодирования GigaChat MAX по сравнению с предшественником. В таблице: чем больше число (степень сжатия текста), тем лучше.
Борьба с циклами в GigaChat Одна из самых назойливых проблем больших языковых моделей — зацикливание при генерациях ответов. Далеко ходить не надо: самый первый комментарий к одной из наших статей был про циклы :) Проблема общая для всей технологии и проявляется даже у мировых лидеров отрасли. Существующие общеизвестные штрафы в популярных библиотеках (frequency_penalty, presence_penalty, no_repeat_n_gram и т. д.) не решают поставленную задачу, а в некоторых случаях явно портят генерацию. Поэтому мы разработали и внедрили свой алгоритм антициклов, который управляет генерацией, устраняя повторение n?грамм гораздо мягче, чем это делают перечисленные выше механизмы. Наш алгоритм работает динамически, позволяя гибко управлять борьбой с цикличностью в процессе. Естественно, антициклы надо включать не всегда:
Мы учли все эти сценарии, приправили их сверху пачкой эвристик. И теперь GigaChat не повторяется, если только явно не попросить его об этом: Не только для разработчиков В начале статьи мы писали, что проще всего пользоваться новым GigaChat через бота в Telegram или веб?версию. Для разработчиков и тех, кто хочет настроить GigaChat под себя, мы предлагаем использовать публичный API, вот документация к нему.А для тех, кому нужно кастомизировать GigaChat под себя, мы создали удобный интерфейс и назвали его Studio. В нём вы можете за пару кликов:
Чтобы попробовать, воспользуйтесь нашей инструкцией: мы обсудим, как сделать из GigaChat помощника на итальянском!
Четыре шага — и бот готов! Попробуйте создать своих персонажей или использовать GigaChat в более рабочих сценариях. Важно помнить, что сейчас функция всё ещё находится в стадии Beta, поэтому к составлению промпта надо подходить внимательно: он должен содержать подробную и чёткую инструкцию к действиям, иначе GigaChat может выйти из роли. Лучше всего в качестве базовой модели использовать GigaChat MAX, однако даже с младшими моделями линейки можно добиться отличных результатов, если уделить внимание качеству инструкции. Вместо заключения В этой статье нам удалось рассказать о части проделанной работы и росте качества GigaChat MAX. Модель превосходит российские и большинство зарубежных аналогов по красоте ответов и их информативности. Однако это не всё: в статье мы рассказываем о промежуточном результате. А тем временем GigaChat MAX не закончил свое обучение: модель прямо сейчас доучивается на наших кластерах, чтобы покорять новые высоты. И ещё раз об изюминке статьи — команда GigaChat запускает свой telegram?канал (подписывайтесь), где мы расскажем больше об искусственном интеллекте, новейших технологиях и о том, как GigaChat становится умнее с каждым днем!Stay tuned! :) Благодарности Хотелось бы сердечно поблагодарить:
Источник: habr.com Комментарии: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||