Единая система оценки для разных языковых моделей
Когда языковые модели оценивают на безопасность и надёжность, есть проблема: большинство наборов данных для оценки составлены на английском языке. На других тоже есть, но не так много: недостаточно, чтобы всё как следует проверить.
Авторы статьи «One ruler to measure them all: Benchmarking multilingual long-context language models» («Одна линейка для всех: оценка многоязычных языковых моделей с большим контекстом») взяли существующий набор задач для тестирования моделей на английском языке и перевели его ещё на 25 языков, наняв для этой цели людей.
Задач в наборе семь, и пять из них построены по принципу «иголка в стоге сена»: моделям дают большой текст, и в нём нужно найти правильный ответ на вопрос. Иголка может быть одна или несколько, вопросов тоже может быть несколько. Ещё есть вариант, в котором правильного ответа на вопрос нет, и модель должна написать, что его нет. Оставшиеся две задачи – на извлечение из текста наиболее часто повторяющихся слов.
На этих задачах проверили пять моделей с открытыми весами и получили некоторые интересные результаты.
Во-первых, есть разница в точности результатов для задач на хорошо представленных языках и плохо представленных языках. "хорошо представленные" – это те языки, на которых много тренировочных данных. "Плохо представленные" – соответственно, те, на которых мало. Это пока не удивительно: чем больше тренировочных данных, тем лучше результаты.
Интересно то, что разрыв увеличивается по мере увеличения контекстного окна. То есть, чем больше объём текста, который модель может за раз обработать, тем лучше она справляется с хорошо представленными языками и хуже – с плохо представленными. Авторы предполагают, что дополнительное обучение моделей ведётся на слишком ограниченном наборе языков. На английском языке их постоянно дообучают, а на каком-нибудь суахили – нет. Если вы вдруг носитель суахили, вам не повезло.
Если вы носитель английского языка, вам, к слову, не так повезло, как вы могли подумать: на нём модели не лучше всего работают.
А знаете, на каком языке они работают лучше всего? Попробуйте угадать, я дам вам несколько вариантов.
Сделали ставки?
На польском. На русском и украинском тоже, кстати, неплохо, что удивительно: славянские языки представлены в тренировочных данных не так хорошо, как языки романо-германской группы. На картинке ниже усреднённая точность на по всем задачам на разных языках. По вертикали языки, по горизонтали – модели, каждая представлена в нескольких размерах. Чем выше значение в ячейке, тем лучше.
Обратите внимание на то, что на русском языке очень хорошо работают Gemini и Qwen. Если вы себе искали какую-нибудь модель для своих задач, присмотритесь. o3 и Llama тоже неплохи, но с ростом размера контекстного окна результат становится заметно хуже.
Если нормализовать длину входных данных (то есть, сделать так, чтобы длина входного текста не влияла на результат), у русского языка результаты ещё получше. Длина входных данных меняется из-за того, что текст на разных языках по-разному трансформируется в векторы.
Во-вторых, самая сложная задача – та, в которой ответа на вопрос в тексте нет, и нужно написать, что его нет. Даже если модели проинструктировать: «Если ответа нет, так и напиши,» – они всё равно часто ошибатся.
Практический вывод здесь такой: если ответа на ваш вопрос нет в доступном наборе текстов, есть весьма высокий риск, что модель что-то сгаллюцинирует. Перепроверяйте.
В-третьих, если язык, на котором вы пишете инструкции, и язык, на котором написан текст (из которого нужно извлечь ответ), различаются, это влияет на результат. Единого правила вроде: «Если вы работаете с текстом на английском языке, пишите инструкции на английском языке,» – нет. Провели эксперименты с английским, польским и корейским языком, получили вот что:
- Если текст на английском, а инструкция модели даётся на корейском, точность ниже.
- Если текст на корейском, а инструкция на английском, точность выше.
Нам, пожалуй, интереснее всего посмотреть на польский язык, потому что он из нашей языковой семьи.
Если текст на английском языке, инструкции лучше тоже писать на английском, иначе точность падает. Если текст на польском, инструкции лучше писать на польском. Соответственно, с русским языком то же самое, скорее всего: если выработаете с англоязычными источниками, эффективнее писать запросы на английском языке. Похоже, что так, хотя я бы поискала ещё данных – но это на другой раз.
Заключение
Работы про эффективность языковых моделей очень полезные, потому что помогают нам понять, как с этими моделями лучше работать. Так что продолжаем следить за новостями с полей, так сказать.
Подписывайтесь на мою телегу, там тоже всякое