Смотреть в Telegram
Pavel Zloi
Накопилось несколько публикаций в очереди на чтение, среди них была одна очень любопытная, под названием: "Scaling test-time compute with open models." Данная публикация от участников проекта HuggingFace, в ней авторы провели эксперимент и попытались создать…
Продолжаю эксперименты по мотивам публикации "Scaling test-time compute with open models." о которой я рассказывал с неделю назад, вот небольшой статус на текущий момент: 1) Мне удалось найти репозиторий huggingface/search-and-learn в котором реализован код решающий задачу описанную в статье. В ходе попыток с целью воспроизвести эксперимент разобрался с тем, что весь он сводится к тому, что скрипт берёт датасет HuggingFaceH4/MATH-500 и поочерёдно передаёт содержимое колонки problem на вход модели и проверяет насколько сильно отличается ответ модели от того, что содержится в колонке answer. Ну а поле solution нужно для ручной проверки "цепочки рассуждений". 2) Упомянутый выше датасет MATH-500, при всём своём великолепии, имеет один фатальный недостаток, он на английском языке, поэтому для оценки БЯМ ориентированных на работу с русским языком (например GigaChat или Vikhr, или Saiga, или T-Lite) он не очень подходит, иными словами необходимо выполнить перевод с английского на русский. Ранее я делал небольшой скриптик translator.py для решения похожей задачи, поэтому на его основе сделал чуть более совершенную версию EvilFreelancer/datasets-translator, выполнил перевод датасета MATH-500 при помощи модели utrobinmv/t5_translate_en_ru_zh_large_1024 и залил его сюда evilfreelancer/MATH-500-Russian Но у данной модели есть ограничение на размер контекстного окна в 1024 токена, его можно увеличить (что я и сделал, до 2048 токенов), но вроде чем больше контекстное окно тем хуже качество перевод (хотя оно и без этого не супер из-за наличия TeX-формул и математической терминологии). 3) Поэтому решил далее прошерстить историю с переводом через LLM, так как у LLM контекстное окно обычно в разы больше чем у моделей семейства utrobinmv/t5_translate_*, а ещё LLM умею с этим большим окном работать, что на самом деле гораздо важнее чем максимальный размер контекстного окна. Вот некоторые источники на указанную тему: - Не DeepL-ом единым. Нейросетевой переводчик для ваших проектов в VS Code за пару кликов (habr) - Как мы сделали переводчик точнее и дешевле Google и Yandex (habr) - Как сделать хороший перевод документов на базе LLM (youtube) Ну и чуть углубившись в тему набрёл на эту публикацию: - Prompting Large Language Model for Machine Translation: A Case Study После изучения источников набросал небольшой скриптик ollama_translator.py позволяющий выполнять перевод через модели подруженные на Ollama, моделью переводчиком указал qwen2.5:32b, но в принципе можно взять любую другую. Инструкцию в system прописал следующую:
DEFAULT_SYSTEM_PROMPT = (
    "Translate provided text to Russian language. "
    "Your reply should contain ONLY the translated text, nothing else. "
    "DO NOT CONVERT TeX FORMULAS, DO NOT TRANSLATE CODE BLOCKS, DO NOT TRANSLATE NUMBERS. "
    "Please use exactly the same formatting as the original text."
)
Промежуточные результаты работы моделей и сравнение с оригинальным текстом можно посмотреть тут. Один сэмпл переводится на моей 4090 в среднем 50 секунд, так что 100 примеров будут переведены чуть менее чем за час, а 500 примерно за пять часов. Ну а как qwen2.5 закончит переводить я обновлю репозиторий evilfreelancer/MATH-500-Russian новым переводом.
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Бот для знакомств