Совсем недавно Meta представила миру Llama 3.1 405B - новую открытую модель, бросающую вызов признанным лидерам, таким как GPT-4o и Claude-3.5 Sonnet.
![](https://habrastorage.org/getpro/habr/upload_files/d5f/0bf/387/d5f0bf387b1eeeaa87e10ba958c9fde2.png)
15 триллионов токенов, 16 000 графических процессоров H100, улучшенные возможности рассуждений и генерации кода - впечатляющие характеристики. Но действительно ли Llama 3.1 способна состязаться с закрытыми моделями? В этой статье мы проведем независимое расследование: сравним возможности Llama 3.1 405B с GPT-4o и Claude 3.5 Sonnet на ряду задач, от программирования до творческого письма, и попробуем понять, насколько она готова к практическому применению.
Приятного прочтения! (:
Что за зверь?
Llama 3.1 405B - это самая большая модель от Meta*, обученная на колоссальном объеме данных – более 15 триллионов токенов. Для обучения модели такого масштаба Meta пришлось не только задействовать огромные вычислительные мощности – более 16 000 графических процессоров NVIDIA H100, – но и оптимизировать сам процесс обучения.
По заявлениям Meta, Llama 3.1 405B значительно превосходит предыдущие версии (Llama 1 и Llama 2) по таким параметрам, как длина контекстного окна (теперь она составляет 128 тысяч токенов), способность к логическим рассуждениям и написанию программного кода.
Помимо версии с 405 млрд параметров, доступны также модели поменьше - с 8 млрд и 70 млрд параметров. Подробнее о характеристиках всех трех версий можно узнать из таблицы ниже.
![Ключевые гиперпараметры Ключевые гиперпараметры](https://habrastorage.org/getpro/habr/upload_files/df0/cee/cc0/df0ceecc0222d5445fc606d03999c3bc.png)
В дополнение к основным моделям, Meta также представила Llama-Guard-3–8B — специальную версию 8-миллиардной модели, настроенную на классификацию данных на основе контента.
Также все модели Llama 3.1 "понимают" восемь языков: английский, немецкий, французский, итальянский, португальский, хинди, испанский и тайский.
Обучение Llama 3.1 проходило в два этапа. Сначала, на этапе предварительного обучения, модель "впитывала" информацию из огромного текстового массива (более 15 триллионов токенов), обрабатывая его на мощном кластере графических процессоров. Затем, на этапе пост-обучения, происходила более тонкая настройка, где использовались методы контролируемого обучения (SFT), выборки с отклонением и прямой оптимизации предпочтений (DPO).
Стоит отметить, что для повышения эффективности модели в задачах программирования, математических вычислений и использования инструментов на этапе SFT применялись специально подготовленные высококачественные синтетические данные. Более подробно об этом процессе можно узнать из пункта 4.2.3 документации.
![Процесс обучения Процесс обучения](https://habrastorage.org/getpro/habr/upload_files/4a2/e64/ed1/4a2e64ed1a535fbe9913d34287be9b67.png)
Meta утверждает, что Llama 3 демонстрирует впечатляющие способности к программированию: она генерирует качественный код, демонстрируя глубокое понимание синтаксиса и логики программирования. Модель способна не только создавать сложные структуры, но и успешно справляться с разнообразными задачами. Кроме того, Llama 3 блестяще проявляет себя в задачах, требующих логического мышления: она умеет рассуждать, анализировать, делать выводы и находить решения даже для нетривиальных задач.
Бенчмарки
Llama 3.1 прошла тщательное тестирование: её возможности были оценены как на основе более чем 50 наборов данных, так и с привлечением экспертов. Результаты экспериментов показали, что модель демонстрирует производительность на уровне таких признанных лидеров, как GPT-4, GPT-4o и Claude 3.5 Sonnet. Отдельно стоит отметить способность Llama 3.1 эффективно работать с длинными текстами – в тесте "zero scrolls quality" она получила впечатляющие 95,2 балла.
![](https://habrastorage.org/getpro/habr/upload_files/b85/e3c/463/b85e3c46378d2cc8d0183670c0cb40c7.png)
![](https://habrastorage.org/getpro/habr/upload_files/b5c/cbe/013/b5ccbe013913eb8e576a0a5c55cd932f.png)
![](https://habrastorage.org/getpro/habr/upload_files/e13/3a3/8ab/e133a38abcf679b9e9c513cfcb0b9f99.png)
Llama 3.1 продемонстрировала превосходство над GPT-4o в ряде тестов, таких как GSM8K, Hellaswag, boolq, MMLU-humanities, MMLU-other, MMLU-stem и winograd. Однако в некоторых дисциплинах, например, в тестах HumanEval и MMLU-social sciences, GPT-4o оказалась сильнее. Также стоит отметить, что Claude 3.5 Sonnet превзошла Llama 3.1 в тестах BFCL и Nexus.
Ручная оценка экспертов показала, что в целом производительность Llama 3.1 405B сопоставима с GPT-4 и Claude 3.5 Sonnet, хотя и немного уступает GPT-4o.
Генерация кода
Возьмем 55-ю задачу на динамическое программирование с LeetCode. Да, сразу отмечу, промты буду писать на русском, поскольку нам интереснее сравнить как модели работают именно с русским языком.
Итак, наш промт:
Дан массив целых чисел nums. Изначально вы находитесь в первом элементе массива, и каждый элемент массива представляет максимальную длину прыжка с этой позиции.
Верните true, если вы можете добраться до последнего индекса, и false в противном случае.
Пример 1:
Вход: nums = [2,3,1,1,4]
Выход: true
Объяснение: Сделайте 1 шаг с индекса 0 на 1, затем 3 шага до последнего индекса.Пример 2:
Вход: nums = [3,2,1,0,4]
Выход: false
Объяснение: Вы всегда будете попадать на индекс 3, несмотря ни на что. Его максимальная длина прыжка равна 0, что делает невозможным достижение последнего индекса.Ограничения:
1 <= nums.length <= 10^4
0 <= nums[i] <= 10^5
Llama 3.1 405B:
![](https://habrastorage.org/getpro/habr/upload_files/cfa/db3/ce8/cfadb3ce865f25d3fdcbfee6ececaa79.png)
ChatGPT-4o:
![](https://habrastorage.org/getpro/habr/upload_files/685/82c/fa5/68582cfa53c84652b5a87fd6b55252dc.png)
Claude-3.5 Sonnet:
![](https://habrastorage.org/getpro/habr/upload_files/204/adb/c1f/204adbc1f1c9d26af8cd759427f8fef4.png)
Итак, первое, что бросается в глаза - ответ Llama наименее подробный. Описание самого алгоритма поверхностное в сравнении с Gpt-4o, однако все-таки объясняет почему этот алгоритм работает. А если говорить про код, то Sonnet представил более лаконичный код в сравнении с Llama. Двигаемся дальше.
Математика
Далее возьмем несложную математическую задачу, которая требует внимательности к формулировке. Наш промт будет выглядеть следующим образом:
Кирпич весит 1 кг и полкирпича. Сколько весит кирпич?
Llama 3.1 405B:
![](https://habrastorage.org/getpro/habr/upload_files/e56/60a/f1c/e5660af1c7134981bb2f5279e7226bab.png)
ChatGPT-4o:
![](https://habrastorage.org/getpro/habr/upload_files/eb2/473/5fc/eb24735fc6ad289262db652f764cca1e.png)
Claude-3.5 Sonnet:
![](https://habrastorage.org/getpro/habr/upload_files/ca0/c3a/a59/ca0c3aa59089abb59b2d96eac578aa8a.png)
Итак, ответы моделей перед глазами. Первое - каждая ответила правильно, однако все-таки по разному. Ответ Llama можно охарактеризовать понятностью, доступностью и легкой неформальностью. Например, в сравнении с Sonnet детализация гораздо меньше, а в сравнении с GPT - избегает уравнений. Плюсы это или минусы - зависит от цели и аудитории.
Предлагаю дать еще одну задачу:
Автобус едет со скоростью 56 миль в час. В последнем ряду сидят три человека, а в предпоследнем - два. Сколько всего людей в автобусе?
Llama 3.1 405B:
![](https://habrastorage.org/getpro/habr/upload_files/ad6/5c2/919/ad65c291971f8b96d8269da1dd0ab597.png)
ChatGPT-4o:
![](https://habrastorage.org/getpro/habr/upload_files/79f/c2a/799/79fc2a79989ab8f8aaf0b562ab51f351.png)
Claude-3.5 Sonnet:
![](https://habrastorage.org/getpro/habr/upload_files/64f/3d8/b6f/64f3d8b6ffcce3d1b5ac6ec26aa85296.png)
Интересно, что GPT-4o и Sonnet проигнорировали водителя, тогда как Llama не забыла о нем, хотя и не вдавалась в подробные рассуждения (вероятно, напиши я промт на английском, было бы гораздо больше слов). Можем двигаться дальше.
Генерация текста
И замкнет наше сравнение генерация творческого текста, например, попросим необычный рецепт обычного борща(базово):
Напиши рецепт борща, но так, как будто это инструкция по сборке космического корабля
Llama 3.1 405B:
![](https://habrastorage.org/getpro/habr/upload_files/8d9/08b/546/8d908b546d979494d1e10ed0999d6bbb.png)
ChatGPT-4o
![](https://habrastorage.org/getpro/habr/upload_files/d5f/eba/430/d5feba4308fef77e9322fee8e031801f.png)
Claude-3.5 Sonnet:
![](https://habrastorage.org/getpro/habr/upload_files/46a/ead/0cc/46aead0cc069a957ede5926e07ca082d.png)
Все три модели, конечно, хорошо справились с задачей и переосмыслили рецепт борща в стиле инструкции по сборке космического корабля. Llama здесь выделяется именно балансом, одна модель больше уходит в атмосферу, другая в структуру, а Llama предлагает нечто среднее.
Llama 3.1 405B - вполне конкурентоспособная LLM, демонстрирующая высокие результаты во многих задачах. Она успешно справляется с генерацией кода, решением логических задач и творческим текстом. Однако прямое сравнение с GPT-4o и Claude 3.5 Sonnet на русском выявляет и некоторые слабые стороны, например, в детализации объяснений или лаконичности кода. Тем не менее, не стоит забывать, что Llama 3.1 - это опенсорсная модель, а значит, она имеет огромный потенциал для дальнейшего развития и улучшения. Открытый исходный код позволит исследователям и разработчикам со всего мира вносить свой вклад в ее совершенствование, что в перспективе может привести к созданию еще более мощных и доступных инструментов на базе ИИ.
Спасибо за прочтение! (:
*Организация Meta признана экстремистской на территории РФ.
Pol1mus
Не понятно в каком месте тут опенсорс. Может ли яндекс и сбер взять и использовать эту ламу вместо своих унылых алис и гигачадов? Нидумаю.
Крупные компании не могут использовать из за лицензионных ограничений, а маленькие не могут сделать никакого серьезного вклада из за слишком больших размеров/затрат.
Hardcoin
Опенсорс - это когда имеешь право взять и редактировать, а не тогда, когда это тебе доступно финансово.
Лицензия, конечно, не очень свободная, но небо и земля по сравнению с ChatGPT.
Pol1mus
Ты можешь взять ламу и... редактировать? Дообучать? Ламу 405б, серьезно?
Hardcoin
Да, можешь. Где ты возьмёшь железо - это вопрос не к авторам модели, дешевого железа они не предоставляют. Они дают только модель.
Pol1mus
Мы пошли по кругу. Ты эту модель использовать не можешь потому что она слишком большая, а яндекс со сбером потому что лицензия неподходящая.
В итоге ее никто не дорабатывает. Это не опенсорс.
Hardcoin
Конечно вы пошли на второй круг. В критериях опенсорса нет правила «слишком большая»/«не слишком большая». Точка, нет смысла идти на третий круг.
Flux
Я так понимаю чтобы это стало опенсорсом каждому желающему должны подогнать личный ЦОД с вагоном ускорителей? Не слишком ли жирновато?
Pol1mus
Как минимум надо выложить исходники на которых модель обучалась. А так это не опенсорс а то что в линуксах блобом называют.