LLM под капотом – Telegram
LLM под капотом
21.1K subscribers
286 photos
7 videos
10 files
550 links
Канал про разработку продуктов на базе LLM/ChatGPT. Выжимка важных новостей и разборы кейсов.
Download Telegram
ChatGPT лежит 🫠

Поднимите руки, у кого еще работа встала 🤚
👍5👎3😁3😱21
В чем разница между ChatGPT и GPT API?

Во-первых, один из них только что лежал 🤣

Во-вторых, GPT API - это модели, которые можно вызывать напрямую. Они есть не только у OpenAI, но и в Microsoft Azure (где они даже работают немного стабильнее).

А вот ChatGPT - это уникальный продукт с надстройками над моделями. Он включает в себя такие вещи как Plugins и Advanced Data Analytics (в прошлом - Code Interpreter).

Если мне нужно проанализировать какие-то данные, но лень (а это бывает часто), я скармливаю их в ADA и прошу нарисовать красивые графики.

Ваш, @llm_under_hood 🤗

PS: скриншоты в комментах.
👍13
Сентябрьский бенчмарк LLMок радует!

Если кратко, то Llama2 70B Hermes обогнала по качетсву старую версию ChatGPT 3.5 🥳

Но пока есть нюанс, для иллюстрации которого добавили новый столбец - "cost". Для облачных моделей считаются tokens в бенчмарке, для локальных моделей считается стоимость аренды подходящего GPU на время бенчмарка.

И теперь видно, что хотя Hermes 70B догнал ChatGPT 3.5 по качеству, то запуск его локально может стоить раз в 25x дороже 💰.

Но дальше будет только лучше. Модели в самом низу бенчмарка на самом деле тоже способные, просто они черечур болтливы. Если добавить нормальный guidance + beam search, то качество станет лучше. Ждите октября 👀

Ваш, @llm_under_hood 🤗

PS: Этот бенчмарк создан на базе тестов и промптов из enterprise продуктов. Попозже еще будет "Benchmark on startup workloads". Сначала он появится в ML Under Hood, а потом и в этом канале.
🔥12👍3😁1🤩1
У GPU есть такая выгодная и классная особенность - он работает как бульдозер 🚜 GPU все равно, генерировать 1 ответ или сразу 10.

К примеру, если взять A100, сотню одинаковых запросов к LLM и запустить их на выполнение последовательно, то это займет минуту. А если параллельно, то всего секунду!

Я запустил на NVidia A100 модельку Llama 2 13B в float16 с просьбой нагенерить мне 20 новых tokens. Последовательное выполнение сотни запросов дало мне 32 tokens per second, а параллельное - 1894 tokens per second. Выгода налицо! 😊

Ничего так разница, верно? И это открывает путь для более интересных оптимизаций вроде speculative execution.

Детальное описание и код для воспроизведения эксперимента выложены в 🧪 ML Product Labs: LLM Performance.

Ваш, @llm_under_hood 🤗
🔥154👍1
Update: все новые подписки синхронизированы с лабами. Можно заходить!

На вопросы про черную магию и зависимость от числа tokens в контексте отвечу попозже)
🔥5👍2
Вот так можно подобрать оптимальный batch_size для GPU для выбранного max_token_length.

Строим график загрузки при изменении batch_size и смотрим на пики в TPS/Elapsed time.


Ваш, @llm_under_hood 🤗

PS: GPU RAM скачет, т.к. там GC срабатывает только при переполнении. Ориентируемся на нижние пики
🔥5
Генерация 20 tokens - это несерьезно! Как будет меняться производительность GPU при росте "выхлопа"?

Ваш, @llm_under_hood 🤗
🔥2
На графиках получается интересный тренд - для того, чтобы уложиться с ответом в 10 секунд надо уменьшать размер батча (по мере увеличения числа `max_new_tokens`).

При этом суммарная мощь (tokens per second) снижается с приятных глазу 2000 tps, но мы продолжаем укладываться в 10 секунд.

Ваш, @llm_under_hood 🤗

PS: Используются стоковые Hugging Face transformers, с fp16. Можно ли как-то выжать побольше из карточки, ведь время==деньги? Stay tuned 😁
🔥31👍1
Кейс с ChatGPT про 10.000 € в месяц 🤑

Интересно? Рассказываю.

Есть компания, которая уже пару декад делает аналитику для торговых сетей. Они хороши в своем деле, что клиенты говорят: “Ребята, вы выдаете офигенные результаты. Мы не понимаем, как оно у вас работает, но нам нравятся ваши результаты. А можно как-то поменять формулы, но оставить итоговые цифры?” 🤦

Но вот это непонимание клиентами - осложняет работу и оставляет осадочек. Поэтому они публикуют кучу материалов и исследований. Там идет сплошной поток новых публикаций и правок в старые статьи. Статей на сайте около 500-700.

И вот тут возникает проблема - если мы написали материал на английском, то как его переводить на другие языки ? Китайский, французский, немецкий, испанский итп

Исторически они к своей CMS-ке привинтили что-то вроде новостной ленты. Переводчики видели обновления, переводили их на свой язык, отправляли правки и получали денежки.

Все были довольны. Но в месяц на переводы уходило до 10000 €. А сами переводчики часто косели от непредсказуемой загрузки и монотонной работы. Кому интересно переводить по 100 правок маленьких кусочков текста в месяц? А ведь еще есть субтитры для подкастов и интервью.

Пробовали для переводов, естественно, всякие Google Translate, DeepL & Bing Translate. Но все они плавали в предметной области, путали термины и несли откровенную 🤪 чушь.

И тут вышел ChatGPT, который достаточно хорошо справился с этой задачей. Самое главное, что он не жалуется на монотонность и объемы.

Как оно все работает?

Просто берется исходный текст, в формате markdown (с графиками, стилями, формулами и ссылками). Этот текст мы вставляем в промпт ChatGPT. Еще докидываем туда краткую справку по предметной области и примеры правильных переводов хитрых мест. Примеры подтягиваются простым скриптом из базы прошлых человеческих переводов. Какие фразы встречаются в тексте для переводов, такие примеры и подтягиваем.

А дальше ChatGPT делает свою работу и выдает тексты. Они не идеальны, но их можно без опасений сразу же публиковать. Что эта компания и делает.

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

Ваш, @llm_under_hood 🤗

PS: Список кейсов продуктов с LLM под капотом есть в шапке: https://news.1rj.ru/str/llm_under_hood/3
🔥19👍42👏1
К нам в канал и чат пришло много новых людей! 🤗

Поэтому вот список самых популярных постов:

- Кейс с ChatGPT про 10.000 € в месяц (бизнес-переводчик)
- Сентябрьский бенчмарк LLMок радует!
- Две методички по продуктам с LLM под капотом - в открытом доступе
- Надоело считать, сколько GPU VRAM нужно для модели?
- Прикольная библиотека для получения желаемого формата ответа от LLM в 100%
- Кейс: платформа для автоматизации процессов в компании.

Продукты с LLM под капотом, которые мы разбирали:

- Персональный ассистент в компании
- Автоматическое исправление ошибок в каталогах продуктов
- Ассистент маркетолога в компании
- Переводчик со знанием специализированной терминологии
- Нишевый lead generator для B2B продаж

У канала есть чат, в который собираются все комментарии и дальшейшие обсуждения. Там классное communuty! 🤗

Для тех, кому нравится атмосфера чатика, но хочется проговорить про все подряд есть выделенный LLM Coffee Talks. Там в последнее время разговаривали про страны, зарплаты и влюбленность в ChatGPT-4.

Ваш, @llm_under_hood 🤗
👍8😁1🎉1
Новая библиотека, которая позволяет запускать большие 70B LLM на небольших GPU быстрее, чем с GPTQ/GGML

https://github.com/turboderp/exllamav2

Можно даже запустить LLama 2 70B на 3090Ti/4090 и получить 30-35 tokens/sec. Правда при этом нужно будет ужаться до 2.5 bits/weight. Но лиха беда начало!
👍11🔥1
Цифры, которые должен знать каждый LLM разработчик.

В том числе:
- 1 MB памяти нужно на генерацию каждого токена 13B модели.
- "Be Concise" в промпте экономит 40-90% токенов
- батчинг запросов улучшает пропускную способность в ~10 раз

Подробности расчетов - Source.

Ваш, @llm_under_hood 🤗
👍10🔥72👎2
В ChatGPT добавили 20ый способ сбора пользовательского фидбэка. Время от времени показывают не один вариант ответа, а сразу два, и просят выбрать между ними. Своего рода A/B тестирование. После выбора на сервер уходит метрика message_comparison_feedback.

Данные пользователей для обучения моделей - самый ценный ресурс! 🤑

OpenAI на этих данных смогут допиливать модели, чтобы они еще больше радовали своих пользователей.

Добавил этот пример cбора данных к остальным 19 в ML Labs про Capture Feedback.

Ваш, @llm_under_hood 🤗
👍4🔥2🎉1
Вот такое качество текста может выдать ChatGPT, который использует структурированную базу знаний. 🔥🤯

Используется:
- только базовая модель, без тюнинга или дополнительных наворотов
- два промпта с "навыками" продающего копирайтера
- база знаний, которую клиент заполнил вручную
- logit bias

Не используется:
- embeddings
- векторные базы данных

Ваш, @llm_under_hood 🤗
🔥12👏21
Какие LLM модели нынче популярны на практике?

Бенчмарки-бенчмарками, а вот количество закачек за последний месяц покажет реальные тренды использования.

Среди всех моделей рулят:
- распознавание речи jonatasgrosman/wav2vec2-large-xIsr-53-english - 63M закачек
- языковая модель bert-base-uncased - 41M
- ветеран LLM gpt2 - 13M закачек

Cреди LLama моделей популярнее всего:
- NousResearch/Llama-2-13b-hf - 9M закачек
- stabilityai/StableBeluga-7B - 1M закачек
- meta-llama/Llama-2-7b-hf + Llama-2-7b-chat-hf - 1M закачек вместе

Источник - HuggingFace API.

Ваш, @llm_under_hood 🤗
7🔥4
OpenAI втихую зарелизила новую модель - GPT-3.5-turbo-instruct.

Уведомление о доступе они начали присылать по почте.

Эта модель заменяет устаревшие модели вроде text-davinci-003, но стоит дешевле, на уровне GPT-3.5-turbo. Ее отличие в том, что она не chat модель, и менее болтлива.

Можно использовать через API вот так:

response = openai.Completion.create(
model="gpt-3.5-turbo-instruct",
prompt="Write a tagline for an ice cream shop."
)


Полное имя модели: gpt-3.5-turbo-instruct-0914

Спасибо @Bdata0 за эту новость. Обсуждение на Hacker News.

Ваш, @llm_under_hood 🤗
🔥11👍71👏1
Какие русскоязычные модели нынче популярны?

Вот вам график!

Ваш, @llm_under_hood 🤗

PS: Брал все модели, у которых в model card прописан язык ru.
👍9🔥31
Новая GPT-3.5 instruct модель - хороша! 🌟

Я упоминал эту модель ранее. А вот теперь и пара практических оценок - см бенчмарк на картинке.

Модель не идеальна, но в некоторых категориях ее качество дотягивает до уровня GPT-4. На задачах типа marketing и CRM теперь можно начинать экономить раз в 20 🤑

Это и сделали ребята из Replit на одной из задач: `We just replaced GPT-4 on a backend task with the new gpt-3.5-turbo with no accuracy hit. Faster + cheaper.` Скриншот с их оценками в комментариях.

Как использовать такую модель? Да как и обычные complete модели или LLama. У меня с первого раза заработал такой human_gpt промпт:

{% set stop = ["###"] -%}
### human: {{ eval.system }}

### response: Sure! Sounds good.
{% for e in eval.shots %}
### human: {{ e.request }}

### response:{% if not e.is_last %}{{ e.response }}
{% endif %}{%- endfor %}


А ведь это еще базовая completion модель, а не "купированая" RLHF. У нее больше творческих способностей. Пример в следующем посте.

Ваш, @llm_under_hood 🤗
👍6🔥2
Клиент спросил - как можно получить разнообразные тексты из одних исходных данных?

Вот пример генерации маркетинговых текстов свежей gpt-3.5-turbo-instruct. Это один и тот же исходный запрос.

Под капотом
Prompt tokens ~75. temp=0.7-1. Guidance, чтобы направить мышление модели в разные стороны и не дать съехать в общую колею.

Как сделать такой guidance?
- В разные запросы ставить negative guidance на типовые мусорные ответы. Его можно прибить гвоздями один раз.
- Подкручивать позитивный guidance на разные итерации.
- Ставить разные формулировки второстепенных частей промпта, чтобы модель "выбить" в другую часть пространства ответа.

Почему именно gpt-instruct?
Как рассказывал Andrej Karpathy в MS Build, у таких моделей больше энтропии. В отличие от chat моделей, у них нет меньше RLHF дрессировки, которая гасит творческие способности.

А что клиент?
Клиент в первую очередь порадовался скорости и качеству. Во вторую очередь - простоте и экономии на ChatGPT-4.

Ваш, @llm_under_hood 🤗

#клиентспросил
👍5🤔2
Какая разница - gpt-3.5 chat или instruct? Это же хайп без особой практической пользы? 🤪

Если прогнать генерацию текста из поста выше на gpt-3.5-chat модели, то вот какие результаты получаются. Куча повторов, даже guidance не помогает!

Про падение скорости генерации я и не говорю.

Откуда скорость?
(1) chat-модель более болтлива. Больше tokens не по делу - дольше генерация.
(2) instruct модель отвечает быстрее сама по себе. C идентичным промптом на 10 запросах у чат модели -19 tokens/sec, а у instruct - 60 tokens/sec. Весь бенчмарк она выполняет в 2.8 быстрее.

Ваш, @llm_under_hood 🤗
🔥8🤔2🤯1
Каталог применений LLM в продуктах выложен на лабах: https://labs.abdullin.com/jobs-for-llm

Там есть problem/solution карточки кейсов, в реализации которых я уверен лично. Почти над всеми пришлось попотеть 😅

(Лабы доступны всем подписчикам бесплатной рассылки ML Under the Hood)

Ваш, @llm_under_hood 🤗

#клиентспросил
👍12🔥82