@nkiay

Fine-tuning опенсорсного LLM новому языку?

Я новичок в этой области. Каковы наиболее подходящие LLM и фреймворки с открытым исходным кодом для этой задачи? Я намерен использовать эту модель в довольно узкой области, возможно, в качестве ментора по физике в школе. Сколько времени может потребоваться (с 3070 Ti 11Gb) для достижения приемлемой для этой цели точности? Я предполагаю, что процесс тонкой настройки нового языка такой же, как и тонкой настройки любых других данных, или же это не так?
Я не смог найти open source LLM, поддерживающего нужный мне язык, или хотя бы частично обученного на нем. Хотя были LLM, которые поддерживают языки из группы нужного мне языка, что это может затруднить распознавание языков моделью.
  • Вопрос задан
  • 186 просмотров
Решения вопроса 1
Maksim_64
@Maksim_64
Data Analyst
Приблизительно все ваши вопросы, не связаны с реальностью.

1. Машинное обучение это НЕ детерминистический процесс, то есть нельзя даже предположить что и сколько займет времени, пока не начал решать абсолютно конкретную задачу посредством абсолютно конкретного инструмента.

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

3. https://github.com/Hannibal046/Awesome-LLM чего из open source там нет?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@rPman
Опенсорс llm-ки из более менее нормальных это opt и bloomz, доступны на huggingface. По качеству они хуже llama, которая чуть чуть не дотягивает до chatgpt3.5. (по ссылкам информация как обучать, тюнить и использовать с примерами кода и датасеты)

Fine-tuning не добавляет знаний llm-кам, а.в лучшем случае позволяет качественно научить ее пользоваться уже имеющимся (читай про reinforcement learning human feedback, это кстати не одна модель а несколько вспомогательных).

Требования тут к железу относительно просты - объем видеопамяти суммарно должен вмещать всю модель плюс небольшой запас, без квантизации и 16битных float (сама модель часть весов может так хранить). Увеличивая объем видеопамяти можно значительно увеличить скорость обучения (так как это уменьшает объем передаваемых через cpu и pci-e данных), к сожалению я не нашел бенчмарков для конкретных цифр, а платить сотни баксов как то не охото, плюс бесконечно это не масштабируется (точнее скорее всего понадобится править код, т.е. нужны еще и редкие специалисты, которых как пылесосом за последние 10 лет высосали крупные компании и уже выращивают их самостоятельно, как это делает facebook)

Есть ещё peft, позволяет тюнинг весов запроса, не трогая модель. Оно умеет работать с 8бит квантизацией (а значит 3х-4х кратно ниже требования к ram видеокарт), сам не пробовал.

Можно дообучить модель новым знаниям, но если смотреть на обычные нейронки, это требует заметно больше усилий чем если бы эти знания изначально добавляли в обучающую выборку. И есть нехорошие последствия из-за "катастрофического забывания", которые можно ослабить, добавляя примеров из исходной выборки, охватывая максимум знаний.

Но если хочешь этим заниматься готовь тысячи видеокарт, иначе процесс затянется на годы. Стоимость сам прикинь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы