Четыре инструмента, которые мы выложили в открытый доступ за последний год
Кому будут полезны эти решения и зачем мы делимся своими разработками со всем миром.
Мы в Яндексе постоянно вкладываемся в развитие опенсорса и верим, что разработка и поддержка таких решений помогает двигать IT-индустрию вперёд, значительно ускоряя её рост и развитие. В прошлом году компания стала лидером по количеству проектов с открытым исходным кодом в сферах машинного обучения и работы с данными. Антон Полднев, руководитель инфраструктуры Рекламных технологий, делится подборкой из трёх инструментов разработки Яндекса, кодом которых компания поделилась со всем миром.
YandexGPT 5 Lite
Что это: Большая языковая модель Яндекса пятого поколения. Яндекс выложил в открытый доступ её pretrain-версию (то есть предобученную модель на датасете компании) на 8 миллиардов параметров с поддержкой контекста в 32 тысячи токенов. Опубликованная pretrain-версия модели уже имеет обширные знания о мире, понимает контекст и закономерности языка, но, например, не имеет этических фильтров и не умеет отвечать на вопросы.
Зачем использовать: она может быть использована в разработке и научных исследованиях. Благодаря своей компактности YandexGPT 5 Lite Pretrain не требует больших вычислительных мощностей и будет полезна тем, кому нужна небольшая модель, адаптированная под русский язык и культурный контекст.
Кому будет полезно: Эта версия может быть полезна для исследователей и разработчиков, так как модель можно легко адаптировать под свои нужды и быстро развернуть без использования большого количества железа.
В чём инновация и отличие от других подобных решений: По сравнению с моделью предыдущего поколения, YandexGPT 4 Lite Pretrain, новая модель показывает значительный рост качества в решении математических задач и написании кода. А в сравнении с аналогичными зарубежными моделями, такими как LLaMa3.1-8B и Qwen-2.5-7B-base, YandexGPT 5 Lite Pretrain лидирует в большинстве задач.
Модель на HuggingFace.
Perforator
Что это: инструмент, который может помочь оптимизировать код и сократить затраты на серверную инфраструктуру вплоть до 20%.
Компании могут использовать инструмент, чтобы оптимизировать код и проанализировать работу приложений на серверах в реальном времени, выявляя самые ресурсозатратные участки кода и получив подробную аналитику.
Зачем использовать: Чтобы выявлять наиболее ресурсозатратные участки кода и получить детальную статистику для их последующей оптимизации и сокращении затрат на содержание серверов.
Кому будет полезно: любым компаниям, у которых есть свои сервера, — как крупным корпорациям, где любая минимизация нагрузки на оборудование сразу приводит к значительной экономии средств, так и стартапам, ограниченным в ресурсах.
В чём инновация и отличие от других подобных решений: Perforator практически не влияет на код или работу программ и не требует значительных ресурсов для работы. При этом использование такого решения не нарушает требования информационной безопасности (особенно, если у организации есть жёсткие ограничения по использованию внешних сервисов), так как весь код и данные остаются внутри компании.
Опыт Яндекса в использовании инструмента: решение изначально разрабатывалось как инструмент для внутренней IT-инфраструктуры. Сейчас Яндекс уже использует Perforator для мониторинга нагрузки серверов и оптимизации работы своих крупнейших сервисов, например, Поиска и Рекламы. Так, в рекомендательном движке Рекламы, занимающем тысячи серверов, благодаря аналитике от Перфоратора мы ежегодно экономим около 20% ресурсов. А сравнение отчётов производительности между разными версиями кода позволяет отлавливать нетривиальные ошибки на ранней стадии, тем самым повышая стабильность системы.
Исходный код на GitHub.
YaFSDP
Что это: библиотека для ускорения обучения больших нейросетей, в частности языковых моделей. Инструмент решает одни из сложностей процесса — оптимизация используемой памяти GPU и избавление от ботл-нека (явление, когда один компонент не даёт раскрыть весь свой потенциал другим) в коммуникации между ними. Эта библиотека оптимизирует использование ресурсов GPU на всех этапах обучения, благодаря чему задействует ровно столько графической памяти, сколько нужно для обучения.
Зачем использовать: чтобы ускорить обучение языковых моделей до 25% и сократить расход ресурсов графических процессоров до 20%, которые требуются для обучения.
При этом использовать решение можно как для обучения собственных нейросетей, так и сторонних, с открытым исходным кодом.
Кому будет полезно: библиотека будет полезна корпорациям, а также стартапам и исследовательским командам с ограниченными ресурсами, которые используют большие языковые модели.
В чём инновация и отличие от других решений: в отличие от других решений, которые могут либо неэффективно использовать память GPU, либо неравномерно распределять вычисления, библиотека динамически балансирует использование ресурсов, позволяя моделям обучаться с максимальной эффективностью. YaFSDP оптимизирует память и сетевые взаимодействия на всех этапах обучения, что особенно важно при работе с крупными моделями.
Опыт Яндекса в использовании инструмента: Яндекс разработал YaFSDP в процессе обучения своей генеративной модели YandexGPT третьего поколения. Компания также протестировала библиотеку на сторонних нейросетях с открытым исходным кодом. Например, если бы YaFSDP использовалась применительно к модели LLaMA 2, этап предварительного обучения на 1024 графических процессорах сократился бы с 66 до 53 дней.
Исходный код на GitHub.
AQLM
Что это: метод сжатия нейросетей, разработанный Yandex Research совместно с исследователями ISTA и KAUST. Решение позволяет уменьшить модель в несколько раз. Это сокращает количество необходимых для работы графических процессоров и позволяет запустить её на устройствах с меньшей вычислительной мощностью.
Зачем использовать: чтобы сократить расходы на внедрение нейросетей до восьми раз.
Кому будет полезно: компаниям любого размера, которые задумываются над оптимизацией ресурсов и сокращением издержек на применение нейросетей.
В чём инновация и отличие от других решений: обычно при сжатии моделей качество их ответов значительно теряется. Решение помогает справиться с этой проблемой. Оно включает два инструмента. Первый позволяет получить уменьшенную до восьми раз нейросеть, которая быстрее работает и может быть запущена, например, на одном графическом процессоре вместо четырёх. Второй инструмент исправляет ошибки, которые возникают в процессе сжатия большой языковой модели.
Опыт Яндекса в использовании инструмента: компания оценивала эффективность методов сжатия нейросетей на популярных моделях с открытым исходным кодом: Llama 2, Llama 3, Mistral и других. Качество ответов оригинальной и сжатой версии нейросети сравнивали на англоязычных бенчмарках — тестах, которые состоят из наборов вопросов из разных областей знаний. Новый подход показал лучший результат среди всех существующих методов сжатия. Метод Яндекса сохраняет в среднем 95% качества ответов нейросети. Для сравнения, другие популярные инструменты сохраняют для тех же моделей от 59% до 90% качества.
Исходный код на GitHub.
Мы верим, что опенсорс ускорит развитие ИИ, позволит исследователям и стартапам преодолевать технологические барьеры и приведёт к появлению новых поколений моделей и сервисов, которые изменят мир. Про все наши проекты с открытым исходным кодом можно узнать здесь.