Как стать автором
Обновить

Комментарии 11

Весит модель более 500 Мбайт ... поэтому обучал на ... GPU T4 х2

2x16Gb VRAM, сколько у вас обучающих данных было, сама же сетка спокойно влезет в гиг vram? какое потребление памяти было? рассматриваю вариант покупки десктопных gpu (пара 4060ti 16Gb) интересно, какой максимальный размер llm можно будет тюнить на таком железе чтобы производительность значительно была выше cpu?

Загруженная на gpu модель и состояние оптимайзера занимал 2.7 Гб на первом gpu. Предполагаю, что это не только веса, но и статистика оптимайзера.

При обучении всей модели kaggle показывал что первый gpu загружен на 11-12 Гб. Тут играет роль размер батча - 8. Мы одновременно обрабатываем 8 примеров за раз на gpu. Больший размер батча приводил к Out of memory (если бы можно было, я бы поставил больше). Т.е. сам по себе кол-во обучающих данных роли не играет.

Второй gpu всегда был пустой, т.к. разделение модели на 2 gpu требует определенных действий. Я пока не стал это делать. В целом размер батча (8 семплов) меня устраивал.

По поводу файнтюна LLM сложные вопросы. LLM обычно огромные. В labse 130 млн. весов, в приличной LLM 7 млрд. весов (mistral, openchat). Файнтюнить надо будет через PEFT с квантованием или еще как то. Область интересная, но сложная. Мне понравилась вот эта статья Ильи Гусева и код обучения.

qlora вполне позволяет файнтюнить LLM за приличное время/деньги, хотя и с квантизацией и некоторой потерей в перплексии.

Спасибо за статью, очень вдохновляюще.

В какой точности обучали сеть? fp16 или fp32?

Отлично, я как раз хотел показать, что нейросети стали ближе к нам, к бизнес задачам

Все слои были в torch.float32. Т.к. сеть маленькая (130 млн. весов), то с этим не заморачивался. Насколько я знаю перевести сеть на torch.float16 не так, чтобы совсем просто... обычно эти вопросы возникают с LLM

А с англоязычными би-енкодерами вы не сталкивались? Если да, то можете посоветовать хорошую модель?

е5 вроде как один из лучших сейчас (ссылка), хотя я обычно использую его мультиязычную версию (intfloat/e5-large-v2)

еще можно смотреть рейтинг на huggingface (ссылка)

Я правильно понимаю что такой паттерн использования имеет право на жизнь и будет почти целевым использованием всего?
1) Разбираем базу знаний на куски, влезающие в один проход энкодера и прогоняем через него.

2) Запихиваем куски в векторную БД, например Chroma.

3) Дообучаем языковую модель спрашивать вопросы и маркировать их.

4) На спрошеный вопрос прогоняем его через cross-encoder и ищем ближайшие к нему ответы в базе.

5) Подсовываем ответы в промпт модели

6) ??????

7) Profit.

кросс энкодер помогает только на шаге 4. Остальное - классический RAG пайплайн, о нем много пишут на хабре, можно посмотреть.
Причем в БД может быть много кусков, поэтому сначала надо использовать быстрый би-энкодер. А потом уже когда кусков мало, можно использовать точный и медленный кросс энкодер.

Обе с коммерческой лицензией (для labse смотрел тут, для rubert тут).
Но это же неправда...
Здесь написано This is an updated version of cointegrated/rubert-tiny: a small Russian BERT-based encoder with high-quality sentence embeddings.

Идем в обучение rubert-tiny от автора
и там есть ссылка на 1 нехороший датасет от Яндекса

А там такая неприятность....

3.1. Правообладатель безвозмездно, на условиях простой (неисключительной) лицензии, предоставляет Пользователю непередаваемое право использовать Корпус на территории стран всего мира в научно-исследовательских некоммерческих целях, и для этого осуществить воспроизведение (копирование) Корпуса.

т.е. Яндекс в явном виде говорит: "Ребята, датасет только для некоммерческого использования"
Автор обучил модель и поделился круто, спасибо ему за это.
Но возникает вопрос, а можно ли теперь такой моделью пользоваться в коммерческих целях?!
Для меня, как не спеца по лицензиям, этот вопрос требует более глубого исследования, но лень, поэтому скорее серая зона, и я бы не стал использовать модель в ком. целях...

4.4. За исключением использования в объемах и способами, прямо предусмотренными настоящей Лицензией или законодательством РФ, Пользователь не имеет права распространять, доводить до всеобщего сведения, вносить изменения, создавать производные произведения с использованием Корпуса, а также осуществлять (разрешать осуществлять) иное использование Корпуса, без письменного согласия Правообладателя.

запрет на использование в производных продуктах явно прописан

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории