Опенсорс на арене: правда ли так хороша Llama 3.1 405B?

Совсем недавно Meta представила миру Llama 3.1 405B — новую открытую модель, бросающую вызов признанным лидерам, таким как GPT-4o и Claude-3.5 Sonnet.

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 млрд параметров. Подробнее о характеристиках всех трех версий можно узнать из таблицы ниже.

Ключевые гиперпараметры

В дополнение к основным моделям, Meta также представила Llama-Guard-3–8B — специальную версию 8-миллиардной модели, настроенную на классификацию данных на основе контента.

Также все модели Llama 3.1 «понимают» восемь языков: английский, немецкий, французский, итальянский, португальский, хинди, испанский и тайский.

Обучение Llama 3.1 проходило в два этапа. Сначала, на этапе предварительного обучения, модель «впитывала» информацию из огромного текстового массива (более 15 триллионов токенов), обрабатывая его на мощном кластере графических процессоров. Затем, на этапе пост-обучения, происходила более тонкая настройка, где использовались методы контролируемого обучения (SFT), выборки с отклонением и прямой оптимизации предпочтений (DPO).

Стоит отметить, что для повышения эффективности модели в задачах программирования, математических вычислений и использования инструментов на этапе SFT применялись специально подготовленные высококачественные синтетические данные. Более подробно об этом процессе можно узнать из пункта 4.2.3 документации.

Процесс обучения

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 балла.

b85e3c46378d2cc8d0183670c0cb40c7.pngb5ccbe013913eb8e576a0a5c55cd932f.pnge133a38abcf679b9e9c513cfcb0b9f99.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:

cfadb3ce865f25d3fdcbfee6ececaa79.png

ChatGPT-4o:

68582cfa53c84652b5a87fd6b55252dc.png

Claude-3.5 Sonnet:

204adbc1f1c9d26af8cd759427f8fef4.png

Итак, первое, что бросается в глаза — ответ Llama наименее подробный. Описание самого алгоритма поверхностное в сравнении с Gpt-4o, однако все-таки объясняет почему этот алгоритм работает. А если говорить про код, то Sonnet представил более лаконичный код в сравнении с Llama. Двигаемся дальше.

Математика

Далее возьмем несложную математическую задачу, которая требует внимательности к формулировке. Наш промт будет выглядеть следующим образом:

Кирпич весит 1 кг и полкирпича. Сколько весит кирпич?

Llama 3.1 405B:

e5660af1c7134981bb2f5279e7226bab.png

ChatGPT-4o:

eb24735fc6ad289262db652f764cca1e.png

Claude-3.5 Sonnet:

ca0c3aa59089abb59b2d96eac578aa8a.png

Итак, ответы моделей перед глазами. Первое — каждая ответила правильно, однако все-таки по разному. Ответ Llama можно охарактеризовать понятностью, доступностью и легкой неформальностью. Например, в сравнении с Sonnet детализация гораздо меньше, а в сравнении с GPT — избегает уравнений. Плюсы это или минусы — зависит от цели и аудитории.

Предлагаю дать еще одну задачу:

Автобус едет со скоростью 56 миль в час. В последнем ряду сидят три человека, а в предпоследнем — два. Сколько всего людей в автобусе?

Llama 3.1 405B:

ad65c291971f8b96d8269da1dd0ab597.png

ChatGPT-4o:

79fc2a79989ab8f8aaf0b562ab51f351.png

Claude-3.5 Sonnet:

64f3d8b6ffcce3d1b5ac6ec26aa85296.png

Интересно, что GPT-4o и Sonnet проигнорировали водителя, тогда как Llama не забыла о нем, хотя и не вдавалась в подробные рассуждения (вероятно, напиши я промт на английском, было бы гораздо больше слов). Можем двигаться дальше.

Генерация текста

И замкнет наше сравнение генерация творческого текста, например, попросим необычный рецепт обычного борща (базово):

Напиши рецепт борща, но так, как будто это инструкция по сборке космического корабля

Llama 3.1 405B:

8d908b546d979494d1e10ed0999d6bbb.png

ChatGPT-4o

d5feba4308fef77e9322fee8e031801f.png

Claude-3.5 Sonnet:

46aead0cc069a957ede5926e07ca082d.png

Все три модели, конечно, хорошо справились с задачей и переосмыслили рецепт борща в стиле инструкции по сборке космического корабля. Llama здесь выделяется именно балансом, одна модель больше уходит в атмосферу, другая в структуру, а Llama предлагает нечто среднее.

Llama 3.1 405B — вполне конкурентоспособная LLM, демонстрирующая высокие результаты во многих задачах. Она успешно справляется с генерацией кода, решением логических задач и творческим текстом. Однако прямое сравнение с GPT-4o и Claude 3.5 Sonnet на русском выявляет и некоторые слабые стороны, например, в детализации объяснений или лаконичности кода. Тем не менее, не стоит забывать, что Llama 3.1 — это опенсорсная модель, а значит, она имеет огромный потенциал для дальнейшего развития и улучшения. Открытый исходный код позволит исследователям и разработчикам со всего мира вносить свой вклад в ее совершенствование, что в перспективе может привести к созданию еще более мощных и доступных инструментов на базе ИИ.

Спасибо за прочтение! (:

*Организация Meta признана экстремистской на территории РФ.

© Habrahabr.ru