Сравниваем ChatGPT, YangexGPT и Gigachat на цифрах. Кто же лучше знает русский язык?
ChatGPT 4 и 3.5 неплохо умеют говорить и думать на русском, потому что LLM обучаются на текстах из интернета, где, в том числе, присутствует русский язык. Но все-таки основной язык у них — английский, поэтому логично предположить, что российские модели, обученные с фокусом на русский язык, должны показывать результаты значительно лучше.
Сбер и Яндекс уже давно начали работать в этом направлении. Мы протестируем их модели и сравним результаты. Выясним, кто же круче, на примере IR задачи.
Задача
У нас есть задача, которая относится к классу задач классификации токена или NER. Суть её проста: извлекать из текстов судебных решений информацию об участниках - ФИО, роль участия и даты рождения.
Пример:
Сложность заключается в том, что тексты, написанные людьми, плохо структурированы, и простые алгоритмы не могут справиться с этой проблемой на достаточно хорошем уровне. Поэтому на помощь приходят технологии обработки естественного языка (NLP) c небольшими BERT моделями и большими языковыми моделями - LLM.
Участники
- GPT4
- GPT3.5 Turbo
- GigaChat Pro
- YandexGPT
- RPT-BERT*
*RPT-BERT - это BERT модель, которую мы обучили исключительно для этой задачи (извлечение участников и их даты рождения) на базе sbert_large_nlu_ru и 100 тыс. синтетических примеров.
Для начала сравним размеры моделей - количество параметров. Обычно чем больше, тем лучше и модель способна справляться с большИм количеством задач, однако это увеличивает стоимость на вычислительные ресурсы или API, что может быть важным фактором в случаях, когда нужно обработать большой объем информации. Как это часто бывает для IR задач - сотни миллионов документов.
GPT 4 - 1 триллион
GPT 3.5 - 175 миллиардов
GigaChat Pro - 29 миллиардов
YandexGPT - 100 миллиардов
RPT-BERT - 500 миллионов
OpenAI и Яндекс не разглашают количество параметров в их моделях, поэтому для них здесь указаны общепринятые оценки из интернета.
Промпт
- Используем промпт с несколькими примерами(Few shot prompting)
- Запрашиваем результат в Json - это еще и покажет, насколько модели хорошо умеют генерировать Json - это важно при применении LLM для IR задач.
Пример:
Результаты
Мы вручную отобрали и разметили 500 документов разной сложности и прогнали модели через эти примеры. Для простоты оценки считали только точность (accuracy) следующим образом: документ считается обработанным успешно в случае, когда все участники извлечены правильно.
Таким образом, score на графике ниже - это отношение количества успешно обработанных документов к общему количеству документов.
GPT-4: 0.97
GPT-3.5: 0.96
RPT-BERT: 0.79
Gigachat-Pro: 0.72
YandexGPT: 0
Почему YandexGPT 0?
Потому что их модель отказывается выполнять данную задачу :)
Кажется, они просто поставили какой-то фильтр, который ограничивает модель в ответах на некоторые темы. Почему под запрет попадает эта тема - большой вопрос. Поддержка компании ответила лишь, что YangexGPT находится в тестовой стадии, и ничего больше.
А вот Gigachat-Pro удивила - лично я не ожидал таких результатов(0.72).
Заключение
Можно пожаловаться на то, что российские модели хуже иностранных, а можно порадоваться, что модель от Сбера показывает неплохие результаты всего лишь при 30млрд параметрах. Также можно надеяться, что Яндекс развяжет руки своей модели и мы все станем свидетелями её мощи - обязательно протестируем, как заработает 🙂
Также можно возразить, что в тесте нет LLAMA 2 и других opensource LLM - и я полностью соглашусь, их тоже стоит рассмотреть, хотя, говорят, что они значительно хуже говорят на русском.
И, конечно, этот тест не является объективной общей оценкой LLM. Это лишь оценка исключительно в рамках этой задачи.