Cамогоная llm4
Год назад я шутил что phi3 будет лучше чем gpt4.
Ну, as you see, опять я оказался прав. (шучу, опять оверфит на бенчи, хотя модель ОЧЕНЬ хороша)
ДАННЫЕ ЧИСТИТЕ ЧИСТО
10T токенов. Это все что вам надо знать и понимать почему phi4 заебись.
Собственно оригинальные(1,1.5) phi были про то что: если дистилировать gpt4 то выходит хорошо.
В PHI4 на уровне подготовки претрена загатавливают базу под алаймент, суть та же: Давайте попросим соберем очень качественные seedы промптов + cбор претрена из webcrawl такого чтобы он был чистый.
Про web crawl
- Отфильтруем по источникам, нам нужен только чистые доки- arxiv, pubmed, gh и прочее
- Профильтруем general webcrawl по инженерным кейвордам
- Сбаланисируем MT часть на 176(!)языков
- Отфильтруем из XML все плохое что есть
Про синту
- из кода и веба делают затравки по аналогии с Instructor(просят переписать код/сделать какую то операцию с текстом)
- Q/A датасеты фильтранули чтобы они не были слишком простыми
- Incstruction following задачи генерировали обратно - просили написать инструкцию для кода который уже есть(!)
Про число повторов/эпох
- до 20 повторений некоторых особо чистых источнников(sic!)
- 12 эпох затравок из синты
- Синта сильно докидывает для сложных бенчей
- Модели обученные только на синте очень плохи в real world knoweldge (shoked pickachu face)
Midtraining Details
Идея простая - мы хотим иметь большой контекст(больше 10к) Такой длинны синты в природе нет и конкатить их очень сложно. Давайте возьмем книги, статьи, и код(репозитории) и соберем их этого в соотношении 30/70(30 новых данных и 70 их претрена) датасет на 250B токенов для длинного контекста.
Качество выходит очень близко к моделям которые бежали либо х2 токенов как Qwen либо сами по себе больше(llama 70b)
SFT
Известный на западе как Instruction Tuning и на востоке как ЧоБля?
Коротко: 8б токенов, 40 языков, chatml(слава блять богу)
А вот про DPO интересно, челы изобретают что то типа online dpo, но тк openai не принадлежит майкрасофт - они гоняют в качестве RM gpt4o которая смотрит на последовательность и прикидывает когда модель начинает лажать.
И финальный датасет выглядит так:
Ну и типа бьет все, хотя метод оригинальный и выглядит полезным.