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

Разные LLM модели обучаются на своих форматах представления данных. У OpenAI - ChatML (спрятан за API), у Llama2 - два разных формата, которые отличаются от LLaMA. У файн-тюнов тоже свои нюансы.

Модели лучше всего работают, если им задавать вопросы в родном формате. Особенно важно следить за спец-символами и пробелами.

Например, в токенайзере cl100k_base (GPT3.5 и GPT 4) “ word” и “word” - это совершенно разные tokens. Первый - это часто используемое слово, а второй - довольна редкая запчасть от слова “crossword” (которое отличается от слова “ crossword”).

Как во всем этом разобраться и не запутаться?

Я в свои утилиты встроил подсветку элементов промпта, как на картинке.

Следование родным форматам моделей снижает галлюцинации и повышает точность ответов. Последнее - позволяет моим клиентам быстрее выкатить фичи и получить хорошую отдачу от использования LLM-ок.

Симпатично, наглядно и практично👍

Ваш, @llm_under_hood 🤗
👍12🔥1
Прикольная библиотека для получения желаемого формата ответа от LLM в 100% случаях.

Под капотом, они собирают FSM, который пропускает только валидные tokens на каждом новом шаге. Можно описать формат ответа начиная с regex до JSON модели по pydantic схеме.

От галлюцинаций это не спасает, но уменьшает количество проблем и работает быстрее Microsoft Guidance.

https://github.com/normal-computing/outlines
🔥42
Кейс: платформа для автоматизации процессов в компании.

Со своим собственным языком программирования 😎

Давайте я вам расскажу про прикольный кейс автоматизации бизнес процессов в рамках целой интенсивно развивающейся компании. Компания - поставщик услуг по аналитике, клиенты на слуху.

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

Причем они делают не банального умного ассистента, а что-то уровнем повыше.

У них уже есть своя система работы с почтой. У них есть свой issue трекер. У них уже есть свой собственный язык программирования, с помощью которого они для клиентов делают аналитику. У них даже есть своя собственная CMS. Причем на сайте более 500 статей, которые постоянно пополняются и переводятся на где-то десяток языков.

И весь этот самодел минималистичен и очень оправдан (рост прибыльности из года в год врать не будет).

Для работы с LLM/ChatGPT они делают тоже свой собственный небольшой язык программирования (DSL или Domain-Specific Language). Он достаточно прост, прячет под капотом технические нюансы работы с векторами и embeddings, обращения к ChatGPT (со всеми retries), поиск по переписке и базам знаний. И тому подобное.

Примеры использования этого DSL:
- Когда приходит почта от какого-то клиента, сделай мне пожалуйста выжимку по текущему профилю этого клиента, выжимку по последним запросам, по последним обращениям в customer support, по последним бизнес запросам и с учетом этой выжимки предложи возможные ответы на текущий запрос клиента.

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

DSL является бизнес языком программирования для одной единственной компании. Он позволяет писать скрипты, формулировать запросы к GP и обращаться к разным системам в компании. Cотрудникам не нужно возиться с кучей токенов, retries или общаться с разными системами. У них просто есть один интерфейс и один токен.

DSL можно версионировать, его можно встраивать в автоматические бизнес-процессы, и он позволяет предсказуемо масштабировать бизнес. Компания может развиваться как набор скриптов на DSL, которые работают со всеми внутренними заданиями компании. Это очень круто, очень прозрачно и позволяет предсказуемо масштабировать бизнес. Крутой кейс.

PS: естественно, что можно давать API этого языка программирования в ChatGPT и просить написать скрипт под конкретную задачу. А скриптом уже можно поделиться с коллегой или показать новичкам.


Ваш, @llm_under_hood 🤗
👍8🤔41🤯1
About_LLM_Product_Benchmarks_v2.pdf
292.3 KB
Я обещал описание категорий LLM Product Benchmarks, с примерами.

Вот оно☝️

Ваш, @llm_under_hood 🤗

#клиентспросил
👍5🤗4🔥3
LLM под капотом
About_LLM_Product_Benchmarks_v2.pdf
Update. Загрузил обновленную версию описания с детальным разбором одного бенчмарка вплоть до промпта.
🔥83
В ChatGPT есть 19 полей/кнопок для сбора feedback!

Куда им столько?

При разработке продукта с ML/LLM под капотом лучше всего сохранять каждое значимое действие пользователя. Это позволит впоследствии оценивать качество моделей, пополнять training dataset и улучшать продукт.

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

Сохраняйте все продуктовые события, пусть даже в текстовый файл формата JSONL. Они потом пригодятся.

Ваш, @llm_under_hood 🤗
👍7🔥1
Видели новости про файн-тюнинг GPT-3.5?

Если кратко:
- это не тот fine-tuning, к которому все привыкли!
- тренировка стоит относительные копейки - $0.008 / 1K токенов
- для затюненой модели использование в 8x дороже базовой GPT-3.5-Turbo

Сама новость вот тут: OpenAI

За uptime затюнинговой модели ничего не платим. Значит, это какой-то вариант LoRA адаптеров и манипуляции с tokens.

Этот fine-tuning затачивает модель под определенную задачу, делая ее более узко-специализированной. Новым фактам ее не особо научишь, а information retrieval это не заменит. Подробнее см доки OpenAI про fine-tuning.

Зачем, вообще такой тюнинг? А чтобы экономить на prompt tokens! Если у нас есть типовая задача, которая требует длинного промпта, особого формата вывода или стилистики ответа, то можно затюнить GPT-3.5 под эту задачу. Теперь не нужно будет отправлять столько few-shot примеров в запрос.

Тюнинг окупается при сжатии входного промпта более, чем в 8x. Плюс скорость ответа будет быстрее.

Такой тюнинг позволит получать более стабильные результаты без костылей вроде Microsoft Guidance & Microsoft TypeChat.

Ваш, @llm_under_hood 🤗

PS: У кого-нибудь есть проекты, которые уже явно выигрывают от этой фичи?
🔥9
Загадка. Какой продукт/прототип скрывается за этим списком?

Hint: оно включает в себя information retrieval по 200MiB+ чистого текста.
🤔3
Начиная с 160GB суммарного объема, видеокарты начинают заканчиваться на runpod.

Это превращает работу с большими моделями в игру "собери их все")
Давным давно (пару лет назад), я интересовался hardware accelerators для ML. Это было еще до бума ChatGPT, но "убийцы NVidia" уже маячили на горизонте.

Были классные и недорогие процессоры с возможностью строить кластера сильно дешевле, чем дорогущие решения под NVLink от NVidia.

Эта карта железа для ML осталась с тех времен.

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

Tenstorrent по-прежнему выходит на связь раз пару раз в год и обещает вот-вот прислать ускорители с работающим софтом))
🔥4
GPT 3.5 0613 не перестает радовать.

Она стала у меня дефолтовым выбором вместо GPT4. Пусть в качестве немного отстает, но стоит в разы дешевле.

Скриншот из новой версии бенчмарков, которая выйдет в сентябре.

PS: в плагинах GPT 3.5 лучше 4 из-за того, что последняя "выеживается" в достаточно простом тесте.
🔥9👍3
Прототип быстрой поисковой системы по профилям компаний)

Пока ищет только по 1GB отчетов компаний, но в перспективе это дойдет до террабайта. Качество должно улучшиться, а тормоза пройти (все, что дольше секунды - адские тормоза)
🔥8🤯2
Две методички по продуктам с LLM под капотом - в открытом доступе: по построению knowledge-based систем и по сбору обратной связи в продуктах с LLM под капотом.

Доступ привязан к подписке на бесплатную Substack рассылку “ML Under the Hood”.

Текущие подписчики могут зайти туда уже прямо сейчас. Нужно лишь пойти на https://labs.abdullin.com и использовать свой email из подписки.

Если подписки нет, то можно ее завести и зайти на следующий день (интеграция с Subsctack пока через пень-колоду))

Я планирую эти лабы развивать и дальше:
- Больше продуктовых кейсов, собранных в одну библиотеку
- Интерактивные прототипы, которые можно пощупать своими руками. В первую очередь - быстрый conversational поиск по каталогам и базам знаний.
- Сентябрьские LLM бенчмарки (которые на больших моделях и Llama 2) появятся уже прямо там.
- Клиенты со своими бенчмарками всегда смогут посмотреть последние результаты прямо там, рядом с публичными.

Ваш, @llm_under_hood 🤗
🔥234👏3👍1
Все новые newsletter подписки синхронизированы в ML Llabs (я писал про них вчера).

Можно логиниться )

Кстати, несколько потенциальных статей помечены как “🚧 under construction”. Если что-то кажется интересным, можно за них проголосовать внизу описания.
🔥6🙏3👍1
Надоело считать, сколько GPU VRAM нужно для модели?

Вот и мне тоже. Поэтому я встроил в бенчмарки оценщик на базе accelerate. Он ходит в hugging face, грузит структуру модели, и считает необходимый объем GPU VRAM для запуска.

Если кратко, то минимальные требования к GPU, в зависимости от квантизации:
- Llama2 70B: fp16 - 128GB, int8 - 64GB, int4 - 32GB
- LLama2 13B: fp16 - 24 GB, int8 - 12 GB, int4 - 6GB
- LLama2 7B: fp16 - 12.4 GB, int8 - 6.2 GB, int4 - 3.1 GB

Это теоретический минимум. На практике потребление может быть процентов до 20% больше. Подробнее про всю математику можно почитать тут.

Ваш, @llm_under_hood 🤗
👏182
Как улучшить поиск бизнес-кейсов в публичных отчетах компаний?

Просто воткните подходящую LLM в обратную связь. Пусть она сама ищет, оценивает результаты и корректирует свой query plan.

Ваш, @llm_under_hood 🤗

PS: Пример возможного DSL для поиска я добавил в лабы.
🔥62
LLM приводят новых клиентов.

Сейчас классное время для поиска новых клиентов для вашей компании. Особенно на международных рынках.

Почему именно сейчас? Все очень просто - технологии доросли до того, чтобы можно было сделать систему, которой можно задать вопрос “Поищи новых клиентов, которым услуги нашей компании нужны позарез”. И, самое главное, она сможет это сделать. Более того, она еще и напишет по пунктам предложение, с которым можно написать в эту компанию.

// Только за последние сутки у нас есть соглашение два соглашения на построение такой индивидуальной системы))

Как работают системы по поиску клиентов, и почему раньше такого не было? Ведь LangChain и ChatGPT же уже давно на рынке, а умных ассистентов не счесть?

Основная разница в подходах и в качестве выдаваемой информации. Очень легко загрузить кучу информации в векторную базу данных, прикрутить поиск и сказать, что оно готово. Вот только система вряд ли сможет дать ответ на вопрос “На основе своих данных и JTBD подхода, сформируй список компаний, которым очень нужны мои услуги”.

Специалисты с клиентской базой и опытом продаж такое сразу поймут.

Но как сделать такую систему, чтобы клиенты, которые собаку съели на продажах, сказали “Mindblowing 🤯 при виде ее? И еще сходу придумали еще пару новых способов для применения в своем бизнесе?

Поскольку это канал про LLM под капотом, то часть секретов я сейчас расскажу.

Во-первых, нужна база знаний, которая бы могла хранить много информации (сотни гигабайтов-терабайты). Там будет храниться как внутренняя информация про компанию и ее клиентов, так и информация про потенциальных клиентов.

Во-вторых, нужен специальный робот - crawler, который постоянно будет “ползать” по интернету и собирать новую информацию. Но не всю подряд, а только определенные виды публикаций и отчетов потенциальных клиентов. Эта база будет постоянно расти.

В-третьих, нужна система поиска по этой базе. Такая, чтобы могла находить информацию на разных языках и в разных форматах представления.

В-четвертых, нужен “мозг” для всего этого, на базе ChatGPT или Llama 2. Этот мозг будет транслировать вопрос пользователя “сформируй список компаний, которым очень нужны мои услуги” в программу для поиска по базе знаний. А потом еще и проверять качество ответов и адаптировать программу дальше.

В-пятых, по-прежнему нужен человек. Он будет рассказывать системе про интересующих клиентов, получать результаты и комментировать их качество.

Более детально про такой поиск я писал в “ML Product Labs” (для подписчиков новостной рассылки ML Under Hood доступ бесплатный, только надо сутки подождать)

Часть из этих необходимых технологий появилась только недавно. Особено Meta Llama 2, которая не только умна не по годам, но еще и хорошо умеет писать код (это нужно для эффективного map-reduce поиска по большим базам знаний).

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

Meta - это бывший Facebook. Она вообще много полезного делает в последнее время. Совсем недавно еще выпустила модель SONAR для работы с информацией на разных языках. Это очень полезная вещь, если хочется, чтобы ваша система могла комфортно работать с международными клиентами.

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

Ваш, @llm_under_hood 🤗

Q: Дорого ли построить такую систему? Не дешево, но качество стоит того. Конечно не так, чтобы “Ест за четверых, Работает за семерых”, но с зарплатой хороших специалистов по работе с клиентами это сопоставимо. И оно работает больше, чем за семерых. Круглосуточно, без отпусков и больничных.
Q: Я не хочу рисковать личными данными. Это может работать без обращений к OpenAI/Anthropiс, только на моих серверах? Теперь, да!
12🔥7👍3
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