Сейчас у OpenAI & Azure острая нехватка GPU для inference. Они либо ежедневно просаживаются под нагрузкой от спроса, либо отказываются от запуска новых пользователей в waitlists (подробности в прошлом англоязычном newsletter).
А продукты надо пилить и релизить на практике, так? Поэтому:
1️⃣ Берем талончики и встаем во все возможные waitlists заранее и про запас. Это будет план B. Ссылки:
• GPT-4 at OpenAI
• GPT-4 at Azure OpenAI
• Claude at Anthropic
• AWS Bedrock (там тоже обещали Claude завезти).
2️⃣ Ответа не ждем, а заранее собираем datasets для тестирования своих продуктов. Чтобы быть оценивать возможность замены GPT-3/4 на локальные language models. Это будет план A.
Если у кого есть вопросы насчет портирования продуктов между LLM/GPT моделями, айда в комменты! Я туда попозже еще скину последний отчет нашего продуктового бенчмарка моделей, и можно будет обсудить.
Ваш, @llm_under_hood 🤗
А продукты надо пилить и релизить на практике, так? Поэтому:
1️⃣ Берем талончики и встаем во все возможные waitlists заранее и про запас. Это будет план B. Ссылки:
• GPT-4 at OpenAI
• GPT-4 at Azure OpenAI
• Claude at Anthropic
• AWS Bedrock (там тоже обещали Claude завезти).
2️⃣ Ответа не ждем, а заранее собираем datasets для тестирования своих продуктов. Чтобы быть оценивать возможность замены GPT-3/4 на локальные language models. Это будет план A.
Если у кого есть вопросы насчет портирования продуктов между LLM/GPT моделями, айда в комменты! Я туда попозже еще скину последний отчет нашего продуктового бенчмарка моделей, и можно будет обсудить.
Ваш, @llm_under_hood 🤗
🔥8🤩1
Каналы, чтобы держать нос по ветру
⁃ Kumar & Solo - фигачат свою компанию, как data-driven продукт 🤩
⁃ Стартап дня. Один пост - один стартап. Иногда попадаются интересные.
⁃ addmeto и TechSparks - интересные IT новости в целом
⁃ Сиолошная - IT новости с уклоном в NLP/VR и космос
⁃ NLP и Better Data Community/NLP - технические чаты, где очень много спецов
⁃ Langchain Developers Chat - про продукты на базе LangChain. Душевные и качественные обсуждения
⁃ gonzo-обзоры ML статей
Есть еще прикольные каналы?
⁃ Kumar & Solo - фигачат свою компанию, как data-driven продукт 🤩
⁃ Стартап дня. Один пост - один стартап. Иногда попадаются интересные.
⁃ addmeto и TechSparks - интересные IT новости в целом
⁃ Сиолошная - IT новости с уклоном в NLP/VR и космос
⁃ NLP и Better Data Community/NLP - технические чаты, где очень много спецов
⁃ Langchain Developers Chat - про продукты на базе LangChain. Душевные и качественные обсуждения
⁃ gonzo-обзоры ML статей
Есть еще прикольные каналы?
🔥6👍2
Завтра выкатываем ассистента компании пользователям!
В среду была демка продукта MVP клиенту. Как я уже писал, клиент захотел поскорее выкатить первым пользователям, чтобы начать собирать feedback. Поэтому прототип сегодня довели до состояния “можно пускать пользователей”, и “само падать не должно” 🤓
Что эта “доводка” включала в себя:
(1) Нормальное логгирование всех запросов/ответов (структурированные логи в файлах - минимально и достаточно)
(2) Кнопки сбора отзывов: 👍 👎
(3) Чтобы сервер не выключался по расписанию каждый вечер :D
А вот переносить вызовы GPT с OpenAI на Azure OpenAI не стали. Но не потому, что код сложный, а из-за оптимизаций и тормозов.
Выяснилось, что Айгиз умудрился оптимизировать работу системы настолько, что ей для работы нужна уже не GPT-4, а достаточна GPT-3.5 🤯 Это значит, что система работает быстрее, дешевле и надежнее!
При этом использовалась новая версия модели gpt-3.5 с максимальным контекстом в 16k. Она оказалась очень хороша и удобна для задач information retrierval. 😎
Но есть нюанс. Оказывается, на Azure OpenAI такое пока не завезли. Microsoft пока не говорит даже примерной даты 🐌
Так что тут было три варианта:
(1) переписать все на маленький gpt-3 - непонятные сроки и риски;
(2) переключить на gpt-4-32k, что сделало бы систему раз в 10 медленнее (она и так не очень быстра), а стоимость каждого запроса подняла до 1-2 евро;
(3) ничего не делать и остаться на OpenAI, пока Azure не выкатит gpt-3-16k у себя.
В итоге клиент принял правильное решение - оставить пока прототип как есть. Завтра они смогут запустить первых пользователей, а я - переключиться на обработку отзывов по ассистенту маркетолога
Ваш, @llm_under_hood 🤗
PS: кстати, скриншот интерфейса - в комментариях.
В среду была демка продукта MVP клиенту. Как я уже писал, клиент захотел поскорее выкатить первым пользователям, чтобы начать собирать feedback. Поэтому прототип сегодня довели до состояния “можно пускать пользователей”, и “само падать не должно” 🤓
Что эта “доводка” включала в себя:
(1) Нормальное логгирование всех запросов/ответов (структурированные логи в файлах - минимально и достаточно)
(2) Кнопки сбора отзывов: 👍 👎
(3) Чтобы сервер не выключался по расписанию каждый вечер :D
А вот переносить вызовы GPT с OpenAI на Azure OpenAI не стали. Но не потому, что код сложный, а из-за оптимизаций и тормозов.
Выяснилось, что Айгиз умудрился оптимизировать работу системы настолько, что ей для работы нужна уже не GPT-4, а достаточна GPT-3.5 🤯 Это значит, что система работает быстрее, дешевле и надежнее!
При этом использовалась новая версия модели gpt-3.5 с максимальным контекстом в 16k. Она оказалась очень хороша и удобна для задач information retrierval. 😎
Но есть нюанс. Оказывается, на Azure OpenAI такое пока не завезли. Microsoft пока не говорит даже примерной даты 🐌
Так что тут было три варианта:
(1) переписать все на маленький gpt-3 - непонятные сроки и риски;
(2) переключить на gpt-4-32k, что сделало бы систему раз в 10 медленнее (она и так не очень быстра), а стоимость каждого запроса подняла до 1-2 евро;
(3) ничего не делать и остаться на OpenAI, пока Azure не выкатит gpt-3-16k у себя.
В итоге клиент принял правильное решение - оставить пока прототип как есть. Завтра они смогут запустить первых пользователей, а я - переключиться на обработку отзывов по ассистенту маркетолога
Ваш, @llm_under_hood 🤗
PS: кстати, скриншот интерфейса - в комментариях.
🔥11👍1
Как и обещал, небольшой update по LLM бенчмаркам. В отличие от HuggingFace/Lmsys, у нас измеряется не абстрактный accuracy, а способность модели выполнять ту или иную задачу в продукте. Оценка считается по нескольким категориям:
- docs - работа с большими документами и базами знаний
- crm - для работы с каталогами продуктов и маркетплейсами
- integrate - интеграция со сторонними апишками, сервисами и плагинами
- marketing - способность работать как ассистент маркетолога - brainstorming, idea refinement, text generation
- reason - насколько хорошо с логикой в рамках предоставленного контекста
- code - работа с кодом
- final - общий рейтинг модели
Внутри каждой категории - набор бенчмарков, которые "выдрали" из реальных продуктов.
Пока с отрывом лидирует chat-gpt, но, думаю, скоро ансамбль из обученных моделей сможет ему составить неплохую конкуренцию.
Update: бенчмарк с ансамблем.
Ваш, @llm_under_hood 🤗
- docs - работа с большими документами и базами знаний
- crm - для работы с каталогами продуктов и маркетплейсами
- integrate - интеграция со сторонними апишками, сервисами и плагинами
- marketing - способность работать как ассистент маркетолога - brainstorming, idea refinement, text generation
- reason - насколько хорошо с логикой в рамках предоставленного контекста
- code - работа с кодом
- final - общий рейтинг модели
Внутри каждой категории - набор бенчмарков, которые "выдрали" из реальных продуктов.
Пока с отрывом лидирует chat-gpt, но, думаю, скоро ансамбль из обученных моделей сможет ему составить неплохую конкуренцию.
Update: бенчмарк с ансамблем.
Ваш, @llm_under_hood 🤗
🔥6👍1
Claude появилась у нас в продуктовых LLM бенчмарках! И сразу поднялась на второе место, а ее instant версия - на четвертое место 🎉
Спасибо Дмитрию (@Dimasfer) за ключик Anthropic для тестирования! 🙏
Подробнее про бенчмарки - в предыдущем посте.
Ваш, @llm_under_hood 🤗
PS: Большой Falcon на очереди, как и новая Vicuna 1.3. Там еще с интеграцией поработать придется.
Спасибо Дмитрию (@Dimasfer) за ключик Anthropic для тестирования! 🙏
Подробнее про бенчмарки - в предыдущем посте.
Ваш, @llm_under_hood 🤗
PS: Большой Falcon на очереди, как и новая Vicuna 1.3. Там еще с интеграцией поработать придется.
👍8🔥2
В LLM Product Leaderboard добавили Luminous от AlephAlpha.
Luminous - это европейский ответ на Chat GPT. По очкам
Еще добавили "open ensemble". Если верить слухам, то ChatGPT-4 - это aнсамбль из 8 экспертов, а чем локальные модели хуже?
open ensemble - в каждой категории берем лучшую не проприетарную модель (которую можно запустить локально), и используем ее результаты.
Понятно, что результаты "open ensemble" высосаны из пальца, но позволяют прикинуть потенциал использования под задачи лучших в своем классе моделей.
А сам leaderboard основан на бенчмарках, которые были "выдраны" из реальных продуктов. Чем лучше очки в категории, тем лучше модель справляется с какой-то задачей, которая важна для пользователей.
Ваш, @llm_under_hood 🤗
Luminous - это европейский ответ на Chat GPT. По очкам
luminuous-extended-control пока даже хуже, чем vicuna 13B. Еще добавили "open ensemble". Если верить слухам, то ChatGPT-4 - это aнсамбль из 8 экспертов, а чем локальные модели хуже?
open ensemble - в каждой категории берем лучшую не проприетарную модель (которую можно запустить локально), и используем ее результаты.
Понятно, что результаты "open ensemble" высосаны из пальца, но позволяют прикинуть потенциал использования под задачи лучших в своем классе моделей.
А сам leaderboard основан на бенчмарках, которые были "выдраны" из реальных продуктов. Чем лучше очки в категории, тем лучше модель справляется с какой-то задачей, которая важна для пользователей.
Ваш, @llm_under_hood 🤗
👍9🔥3
Перекличка! 🙌
В нашем чатике собралось много специалистов (из 170 подписчиков канала “LLM под капотом” 110 добавились прямо в чат).
Давайте представимся и познакомимся в комментариях:
(1) кто вы и чем занимаетесь?
(2) на каких кейсах специализируетесь?
(3) какие услуги вы предлагаете?
Обо мне:
Я - Ринат Абдуллин, технический консультант, помогаю запускать продукты с ML/LLM.
Я созваниваюсь с командами раз в неделю, делюсь деталями реализации фич с LLM, рассказываю про старые грабли и новые инсайты. Это позволяет командам значительно сокращать время и расходы на разработку, быстрее выкатывая продукт на рынок.
Я работал с разными командами, начиная с небольших BigData/SaaS стартапов и до запуска отдела Data Science в международной транспортной компании. Cайт, twitter, LinkedIn.
Сейчас я веду 7 кейсов продуктов на базе LLM (Q&A системы и ассистенты для компаний), делясь опытом здесь в канале. А еще отвечаю за ML & Innovation в Trustbit, веду LLM Product Leaderboard и публикую newsletter для англоязычной аудитории.
Чем занимаетесь Вы? 🤗
В нашем чатике собралось много специалистов (из 170 подписчиков канала “LLM под капотом” 110 добавились прямо в чат).
Давайте представимся и познакомимся в комментариях:
(1) кто вы и чем занимаетесь?
(2) на каких кейсах специализируетесь?
(3) какие услуги вы предлагаете?
Обо мне:
Я - Ринат Абдуллин, технический консультант, помогаю запускать продукты с ML/LLM.
Я созваниваюсь с командами раз в неделю, делюсь деталями реализации фич с LLM, рассказываю про старые грабли и новые инсайты. Это позволяет командам значительно сокращать время и расходы на разработку, быстрее выкатывая продукт на рынок.
Я работал с разными командами, начиная с небольших BigData/SaaS стартапов и до запуска отдела Data Science в международной транспортной компании. Cайт, twitter, LinkedIn.
Сейчас я веду 7 кейсов продуктов на базе LLM (Q&A системы и ассистенты для компаний), делясь опытом здесь в канале. А еще отвечаю за ML & Innovation в Trustbit, веду LLM Product Leaderboard и публикую newsletter для англоязычной аудитории.
Чем занимаетесь Вы? 🤗
🔥13👍5❤4
Новая модель LongChat с контекстом в 16k!
Её выпустили LMSYS, которые раньше сделали Vicuña.
Говорят, что качество сравнимо с Vicuña. Примерная стоимость обучения моделей с нуля на A100 за $300 + $700 (7B и 13B)
https://lmsys.org/blog/2023-06-29-longchat/
Её выпустили LMSYS, которые раньше сделали Vicuña.
Говорят, что качество сравнимо с Vicuña. Примерная стоимость обучения моделей с нуля на A100 за $300 + $700 (7B и 13B)
https://lmsys.org/blog/2023-06-29-longchat/
🔥7👍5
Про внедрение маркетингового ассистента, с раскрытием секретов 🤗
Описание кейса тут: кейс 👈
В прошлый четверг у меня дошли руки обработать отзывы клиента. Клиент был рад, но хотел "дообучить ассистента под себя":
(1) чтобы ассистент мог писать статьи по бОльшему числу отраслей и продуктов
(2) прокачки стиля письма ассистента в том, какие он слова использует (меньше продажного сленга и более уверенный тон), как говорит про компанию (что это надежный партнер с долгой историей на рынке), как описывает продукты.
В прошлый четверг, я улучшил прототип, "написал" пачку новых статей и отправил для проверки.
Как улучшал? 👨🏻💻
Сначала собрал документы про новую отрасль и продукты. Отрасль и продукты взял из маркетинговых материалов. Сконвертировал Product sheets в текстовый формат для удобства LLM. Докинул еще пару комментариев от экспертов, пометив их для системы как "важно!"
Все это я добавил в базу знаний и разметил. И сразу пометил новые секции для использования на этапах brainstorming / draft (этапы показаны на схеме)
Потом завел в базе знаний новую секцию про "company voice", куда практически 1 в 1 скопировал пожелания клиента. Пометил эту секцию для использования в написании финального текста.
После того, как я прогнал цикл написания статей пару раз, увидел, что тексты стали лучше, но агент порывается втюхивать 🛑 Втюхивать нам не надо!
Поскольку информация достается не через embeddings/векторы, а по жестким правилам, то проблема явно была в недостаточно четких указаниях.
Поэтому я просто дописал в секцию company voice:
(1) не обращайся к аудитории напрямую
(2) не дави на эмоции
(3) не используй такие слова (список)
Ну и в поставку задачи для этапа написания переписал описание роли. Вместо "самый лучший продажник" - "уверенный специалист, который информирует долгосрочных партнеров о продуктах". И оно сработало.
Результат: клиент очень рад результатам, говорит про milestone и хочет выкатить поскорее у себя.
Cамый прикол в том, что этот milestone был сделан за 2 часа в сумме. 🤪
И это очень круто. LLM - это рычаг, который во много раз увеличивает производительность:
(1) на этапе разработки - минимум кода, просто вставить информацию в базу знаний и разметить ее
(2) на этапе использования - задачи, которые отдел маркетинга клиента делал годы, теперь можно сделать за недели.
Пользуйтесь этим рычагом! 💪
Ваш, @llm_under_hood 🤗
Описание кейса тут: кейс 👈
В прошлый четверг у меня дошли руки обработать отзывы клиента. Клиент был рад, но хотел "дообучить ассистента под себя":
(1) чтобы ассистент мог писать статьи по бОльшему числу отраслей и продуктов
(2) прокачки стиля письма ассистента в том, какие он слова использует (меньше продажного сленга и более уверенный тон), как говорит про компанию (что это надежный партнер с долгой историей на рынке), как описывает продукты.
В прошлый четверг, я улучшил прототип, "написал" пачку новых статей и отправил для проверки.
Как улучшал? 👨🏻💻
Сначала собрал документы про новую отрасль и продукты. Отрасль и продукты взял из маркетинговых материалов. Сконвертировал Product sheets в текстовый формат для удобства LLM. Докинул еще пару комментариев от экспертов, пометив их для системы как "важно!"
Все это я добавил в базу знаний и разметил. И сразу пометил новые секции для использования на этапах brainstorming / draft (этапы показаны на схеме)
Потом завел в базе знаний новую секцию про "company voice", куда практически 1 в 1 скопировал пожелания клиента. Пометил эту секцию для использования в написании финального текста.
После того, как я прогнал цикл написания статей пару раз, увидел, что тексты стали лучше, но агент порывается втюхивать 🛑 Втюхивать нам не надо!
Поскольку информация достается не через embeddings/векторы, а по жестким правилам, то проблема явно была в недостаточно четких указаниях.
Поэтому я просто дописал в секцию company voice:
(1) не обращайся к аудитории напрямую
(2) не дави на эмоции
(3) не используй такие слова (список)
Ну и в поставку задачи для этапа написания переписал описание роли. Вместо "самый лучший продажник" - "уверенный специалист, который информирует долгосрочных партнеров о продуктах". И оно сработало.
Результат: клиент очень рад результатам, говорит про milestone и хочет выкатить поскорее у себя.
Cамый прикол в том, что этот milestone был сделан за 2 часа в сумме. 🤪
И это очень круто. LLM - это рычаг, который во много раз увеличивает производительность:
(1) на этапе разработки - минимум кода, просто вставить информацию в базу знаний и разметить ее
(2) на этапе использования - задачи, которые отдел маркетинга клиента делал годы, теперь можно сделать за недели.
Пользуйтесь этим рычагом! 💪
Ваш, @llm_under_hood 🤗
👍19🔥4
Надоели галлюцинации? 😵
Клиент спросил, как с ними бороться, и вот что мы вместе сделали.
Продукт - площадка для продажи товаров. Что-то вроде специализированного аналога ebay/Avito/WillHaben. При выкладывании товаров, продавцам надо заполнять описание, выбирать категорию и подкатегорию. От правильного заполнения много зависит.
Но люди могут делать ошибки или просто отваливаться на этом этапе. И то и другое - плохо.
Поэтому решили сделать так - пусть пользователь загрузит фотографии и напишет пару слов от себя, а мы категорию предзаполним сами.
Естественно начинали с тестовых наборов данных. На цифрах все было достаточно неплохо.
Пока не стали измерять галлюцинации - сколько подкатегорий ChatGPT выдумывает вместо того, чтобы брать из предложенного списка. Вот тут и всплыла печалька.
Что делать? Слушать модель!
Галлюцинации моделей - это полезная штука. Они показывают области, где модель выходит за рамки комфорта и начинает придумывать что-то свое. Такое происходит, когда в контекст подается слишком мало необходимой информации. Модель в таких случаях пытается угодить человеку. Она начинает “заполнять пробелы” за счет своей памяти, которая осталась от обучения и fine-tuning. Вот только эта память - как JPEG с максимальным сжатием, дырявая и порождает артифакты.
Ситуация становится хуже, если в контекст попадает нерелевантная информация. Модель начнет и ее притягивать за уши, умножая галлюцинации.
Поэтому, если видим галлюцинации, то начинаем смотреть на контекст - упрощать, уменьшать количество концепций и улучшать соотношение signal/noise.
Возвращаясь к нашему случаю, именно это я и сделал. Выкинул пару ненужных концепций, превратил дерево категорий в простой список и подчеркнул важность следования ему.
В процессе итераций над системой промптов я постоянно прогонял через них тестовый датасет, чтобы контроллировать качество на каждом этапе. В результате я снизил клиенту количество галлюцинаций с 63.6% до 1%
Поэтому, если видите много галлюцинаций на выходе из промпта, начинайте смотреть заполнение контекста. Это просто модель так сообщает, что слишком мало релевантной информации ей дают.
Ваш, @llm_under_hood 🤗
#клиентспросил
Клиент спросил, как с ними бороться, и вот что мы вместе сделали.
Продукт - площадка для продажи товаров. Что-то вроде специализированного аналога ebay/Avito/WillHaben. При выкладывании товаров, продавцам надо заполнять описание, выбирать категорию и подкатегорию. От правильного заполнения много зависит.
Но люди могут делать ошибки или просто отваливаться на этом этапе. И то и другое - плохо.
Поэтому решили сделать так - пусть пользователь загрузит фотографии и напишет пару слов от себя, а мы категорию предзаполним сами.
Естественно начинали с тестовых наборов данных. На цифрах все было достаточно неплохо.
Subcategory guessed right: 66.7%
Subcategory is within 3 options: 90.9%Пока не стали измерять галлюцинации - сколько подкатегорий ChatGPT выдумывает вместо того, чтобы брать из предложенного списка. Вот тут и всплыла печалька.
Hallucinated categories: 63.6%
Что делать? Слушать модель!
Галлюцинации моделей - это полезная штука. Они показывают области, где модель выходит за рамки комфорта и начинает придумывать что-то свое. Такое происходит, когда в контекст подается слишком мало необходимой информации. Модель в таких случаях пытается угодить человеку. Она начинает “заполнять пробелы” за счет своей памяти, которая осталась от обучения и fine-tuning. Вот только эта память - как JPEG с максимальным сжатием, дырявая и порождает артифакты.
Ситуация становится хуже, если в контекст попадает нерелевантная информация. Модель начнет и ее притягивать за уши, умножая галлюцинации.
Поэтому, если видим галлюцинации, то начинаем смотреть на контекст - упрощать, уменьшать количество концепций и улучшать соотношение signal/noise.
Возвращаясь к нашему случаю, именно это я и сделал. Выкинул пару ненужных концепций, превратил дерево категорий в простой список и подчеркнул важность следования ему.
В процессе итераций над системой промптов я постоянно прогонял через них тестовый датасет, чтобы контроллировать качество на каждом этапе. В результате я снизил клиенту количество галлюцинаций с 63.6% до 1%
Subcategory guessed right: 76.9%
Subcategory is within 3 options: 86.2%
Hallucinations: 1.0%
Поэтому, если видите много галлюцинаций на выходе из промпта, начинайте смотреть заполнение контекста. Это просто модель так сообщает, что слишком мало релевантной информации ей дают.
Ваш, @llm_under_hood 🤗
#клиентспросил
🔥16👍3
Кто как запускает LLM? Опрос!
Anonymous Poll
31%
На GPU/TPU
16%
На CPU
32%
Cервисы и API
35%
Просто показать результаты
👍2
GPT-4 Code Interpreter - это нечто 🤯
Это как Jupiter Notebook вместе с Junior Data Scientist, который послушно выполняет указания. График в начале - это его ответ на мой вопрос.
Я задал такой вопрос, и ChatGPT довел его до конца с первого раза!
По пути он споткнулся об exception с datetime, сам перед собой извинился, поправил и пошёл дальше. В итоге он выдал мне готовый график.
Теперь вместо возни с юпитером буду мелкие datasets загружать в ChatGPT и просить «сделай мне красивый анализ»
Это как Jupiter Notebook вместе с Junior Data Scientist, который послушно выполняет указания. График в начале - это его ответ на мой вопрос.
Я задал такой вопрос, и ChatGPT довел его до конца с первого раза!
Generate a simple SQLite schema for an online store, fill it with a realistic sample data using a generator. Then come up with a way to analyze that data with a query. Compute the answer and plot results beautifully. Add to the plot big noscript "Sample Plot Made by GPT-4 with Code Interpreter".
По пути он споткнулся об exception с datetime, сам перед собой извинился, поправил и пошёл дальше. В итоге он выдал мне готовый график.
Теперь вместо возни с юпитером буду мелкие datasets загружать в ChatGPT и просить «сделай мне красивый анализ»
🔥7👍1
Как зайти в LLM/GPT программисту?
Вышла обзорная статья от участницы нашего чата - tigris. Там и про нас говорится)
Пожалуйста, читайте и комментируйте, чтобы мотивировать её на написание более детальных статей и кукбуков! 😉
https://habr.com/ru/companies/ascon/articles/745594/
Вышла обзорная статья от участницы нашего чата - tigris. Там и про нас говорится)
Пожалуйста, читайте и комментируйте, чтобы мотивировать её на написание более детальных статей и кукбуков! 😉
https://habr.com/ru/companies/ascon/articles/745594/
Хабр
Generative AI. Как программистам держать нос по ветру
Вряд ли найдётся тот, кто ещё не знаком с ChatGPT, Midjourney, StableDiffusion — такая популярность говорит сама за себя. Хайп вокруг генеративного искусственного интеллекта...
🎉9👍2🤗1
Как определить, что проект использует LangChain? 😉
Он не может по статье про Bitcoin ответить на вопрос "How is the work by "R.C. Merkle" used in this paper?"
Он не может по статье про Bitcoin ответить на вопрос "How is the work by "R.C. Merkle" used in this paper?"
🤔6
Словарик для разработки продуктов с LLM
В работе с клиентами у нас выработалась своя терминология. Она помогает точнее доносить идеи между командами и меньше путаться. Плюс код становится понятнее всем (спасибо Эрику Эвансу за Domain-Driven Design 🙏).
Привожу тут краткий словарик. Иллюстрация в комментах.
Контекст: Я работаю с продуктами, у которых под капотом не только LLM, но и большой набор данных. Еще не Big data, но в LLM на вход уже не влезает.
Поэтому в основе всегда лежат структурированные данные (structured data). Тут содержится вся информация, которую процесс с LLM должен учитывать при выполнении задачи. Например, это могут быть большие PDF, выгрузки из Confluence и истории переписок с клиентами.
Навыки (AI Skills) - это то, что делает конкретную работу. Обычно это цепочки GPT/LLM промптов, которые заточены на выполнение конкретных задач. Навыки достают релевантную информацию для выполнения задач выполнения. В отличие от агентов, навыки более специализированы, хорошо тестируются и легче отлаживаются.
(но ничто не мешает собрать дерево из специализированных навыков)
В теории, результаты работы системы с LLM под капотом могут быть достаточно хороши. Но это до выкатывания системы в продакшн в реальный мир к живым пользователям. Тут-то и начинают случаться нежданчики 🤣
Реальный мир - это то, что наглядно показывает различие между практикой и теорией.
В этот момент появляется обратная связь (feedback), которая поможет сделать продукт дальше. Собирайте все, начиная от лайков/дислайков, до сообщений с жалобами и метрик из бизнеса.
Feedback лучше полуавтоматически обрабатывать и интегрировать в structured data. Ваши разработчики получат новую информацию, которую позволит улучшить систему на следующей итерации разработки. Так система будет расти и развиваться.
Улучшаем, выкатываем и сообщаем пользователям про это.
Процесс можно повторять быстрыми итерациями (rapid iterations) до тех пор, пока реальное качество работы системы не достигнет желаемого уровня.
👋 А какие специфичные термины используете вы?
Ваш, @llm_under_hood 🤗
PS: Я не умею добавлять картинки в ТГ так, чтобы текст не сужало. Поэтому иллюстрация к посту - в комментах.
В работе с клиентами у нас выработалась своя терминология. Она помогает точнее доносить идеи между командами и меньше путаться. Плюс код становится понятнее всем (спасибо Эрику Эвансу за Domain-Driven Design 🙏).
Привожу тут краткий словарик. Иллюстрация в комментах.
Контекст: Я работаю с продуктами, у которых под капотом не только LLM, но и большой набор данных. Еще не Big data, но в LLM на вход уже не влезает.
Поэтому в основе всегда лежат структурированные данные (structured data). Тут содержится вся информация, которую процесс с LLM должен учитывать при выполнении задачи. Например, это могут быть большие PDF, выгрузки из Confluence и истории переписок с клиентами.
Навыки (AI Skills) - это то, что делает конкретную работу. Обычно это цепочки GPT/LLM промптов, которые заточены на выполнение конкретных задач. Навыки достают релевантную информацию для выполнения задач выполнения. В отличие от агентов, навыки более специализированы, хорошо тестируются и легче отлаживаются.
(но ничто не мешает собрать дерево из специализированных навыков)
В теории, результаты работы системы с LLM под капотом могут быть достаточно хороши. Но это до выкатывания системы в продакшн в реальный мир к живым пользователям. Тут-то и начинают случаться нежданчики 🤣
Реальный мир - это то, что наглядно показывает различие между практикой и теорией.
В этот момент появляется обратная связь (feedback), которая поможет сделать продукт дальше. Собирайте все, начиная от лайков/дислайков, до сообщений с жалобами и метрик из бизнеса.
Feedback лучше полуавтоматически обрабатывать и интегрировать в structured data. Ваши разработчики получат новую информацию, которую позволит улучшить систему на следующей итерации разработки. Так система будет расти и развиваться.
Улучшаем, выкатываем и сообщаем пользователям про это.
Процесс можно повторять быстрыми итерациями (rapid iterations) до тех пор, пока реальное качество работы системы не достигнет желаемого уровня.
👋 А какие специфичные термины используете вы?
Ваш, @llm_under_hood 🤗
PS: Я не умею добавлять картинки в ТГ так, чтобы текст не сужало. Поэтому иллюстрация к посту - в комментах.
👏6👍2🤩2🥰1
AI & Startups - интересный канал, который ведет хороший человек Влад. Из его последних постов мне больше всего зашли:
- Code interpreter ChatGPT - ваш новый аналитик данных
- Скорость - главная метрика успеха стартапов в эпоху AI
- Как бизнесу внедрять LLM-ки
У Влада еще есть дружелюбный чатик LangChain developers chat 🤗 И там не только про LangChain.
- Code interpreter ChatGPT - ваш новый аналитик данных
- Скорость - главная метрика успеха стартапов в эпоху AI
- Как бизнесу внедрять LLM-ки
У Влада еще есть дружелюбный чатик LangChain developers chat 🤗 И там не только про LangChain.
👍6❤4💯1
Thread_by_@Yampeleg_on_Thread_Reader_App_–_Thread_Reader_App.pdf
37.4 KB
Vic принес в чатик интересные новости про архитектуру GPT-4.
- GPT-4 в 10 раз больше GPT-3, 1800B параметров и 120 слоев
- Но, внутри пачка экспертов (8 или 16 - не понятно). При обработке токена работает каждый только один.
- Судя по Code Interpreter, система может переключаться между экспертами на лету (это уже моя теория)
- 32k версия - это fine-tune 8k
C тех пор оригинальный твит удалили (copyright infringement), но он успел разойтись по сети. Поэтому вот PDF c текстом)
Ваш, @llm_under_hood 🤗
- GPT-4 в 10 раз больше GPT-3, 1800B параметров и 120 слоев
- Но, внутри пачка экспертов (8 или 16 - не понятно). При обработке токена работает каждый только один.
- Судя по Code Interpreter, система может переключаться между экспертами на лету (это уже моя теория)
- 32k версия - это fine-tune 8k
C тех пор оригинальный твит удалили (copyright infringement), но он успел разойтись по сети. Поэтому вот PDF c текстом)
Ваш, @llm_under_hood 🤗
🤯1
Embeddings и векторная БД ищут плохо? 🔍🥺
Если продукты с LLM под капотом выдают чушь на выходе, то это может быть вызвано мусором на входе. Чем больше нерелевантной информации мы подаем в контекст, тем хуже качество ответов. Или “фигня в контексте - галлюцинации на выходе” (подробнее).
Самый частый источник “фигни на входе” при работе с большими текстами - это нерелевантные индексы на базе embeddings.
Можно это самостоятельно продебажить, если взять запросов 10-20 от реальных пользователей или эксперта и прогнать систему поиска до момента получения документов. Потом просто смотрим глазами, сколько правильных документов было найдено, а сколько мусорных.
А еще лучше - сформировать тестовый dataset с запросами и списком фрагментов, которые система должна находить. И загнать все в тестовый скрипт, который прогоняется автоматически на каждое изменение. Ему достаточно выдавать accuracy (но еще лучше - confusion matrix).
Когда есть такой тестовый dataset, можно смело экспериментировать с разными вариантами поисковых индексов, начиная с CharacterTextSplitter и до графов знаний в LlamaIndex.
Ваша задача - подобрать такую комбинацию, которая увеличит accuracy до приемлемого уровня. Достаточно, чтобы выкатить все реальным пользователям.
А дальше - продолжаем собирать feedback (👍, 👎), интегрировать его в тестовый dataset и работать над повышением точности на всех данных. Большую часть этого можно делать в полуавтоматическом режиме.
Идея коллаборации!
Как насчет выбрать какой-то набор документов (открытые и доменно-специфичные, которые точно не попадают в обучение, для начала на English) и их совместно разметить вопросов на 20-40 (вопрос - релевантные части документов)?
И потом эту разметку использовать для тестирования разных архитектур структурирования данных. Можно еще сшить в один PDF файл и тестировать им разные online сервисы.
В идеале - это домен, в котором мы все немного разбираемся, чтобы можно было быстро оценивать на глаз качество ответов.
Что скажете?
Ваш, @llm_under_hood 🤗
Если продукты с LLM под капотом выдают чушь на выходе, то это может быть вызвано мусором на входе. Чем больше нерелевантной информации мы подаем в контекст, тем хуже качество ответов. Или “фигня в контексте - галлюцинации на выходе” (подробнее).
Самый частый источник “фигни на входе” при работе с большими текстами - это нерелевантные индексы на базе embeddings.
Можно это самостоятельно продебажить, если взять запросов 10-20 от реальных пользователей или эксперта и прогнать систему поиска до момента получения документов. Потом просто смотрим глазами, сколько правильных документов было найдено, а сколько мусорных.
А еще лучше - сформировать тестовый dataset с запросами и списком фрагментов, которые система должна находить. И загнать все в тестовый скрипт, который прогоняется автоматически на каждое изменение. Ему достаточно выдавать accuracy (но еще лучше - confusion matrix).
Когда есть такой тестовый dataset, можно смело экспериментировать с разными вариантами поисковых индексов, начиная с CharacterTextSplitter и до графов знаний в LlamaIndex.
Ваша задача - подобрать такую комбинацию, которая увеличит accuracy до приемлемого уровня. Достаточно, чтобы выкатить все реальным пользователям.
А дальше - продолжаем собирать feedback (👍, 👎), интегрировать его в тестовый dataset и работать над повышением точности на всех данных. Большую часть этого можно делать в полуавтоматическом режиме.
Идея коллаборации!
Как насчет выбрать какой-то набор документов (открытые и доменно-специфичные, которые точно не попадают в обучение, для начала на English) и их совместно разметить вопросов на 20-40 (вопрос - релевантные части документов)?
И потом эту разметку использовать для тестирования разных архитектур структурирования данных. Можно еще сшить в один PDF файл и тестировать им разные online сервисы.
В идеале - это домен, в котором мы все немного разбираемся, чтобы можно было быстро оценивать на глаз качество ответов.
Что скажете?
Ваш, @llm_under_hood 🤗
🙏8👍4
Вышла Claude-v2, вот бенчмарки
Похоже, что проклятие второй версии не минуло и Claude-v2.
Пока выходит, что claude-v2 в наших продуктах работала бы хуже первой версии. За просадку в категории "code" не так жалко, а вот за docs, integrate, marketing - обидно.
Но в "reason" - она догнала ChatGPT-4 новый!
Про бенчмарки подробнее написано тут. Со времени последнего отчета, я усложнил часть бенчмарков, чтобы GPT-4 было к чему стремиться 🚀
Спасибо @Dimasfer за ключ для тестирования! 🙏💪
Ваш, @llm_under_hood 🤗
Похоже, что проклятие второй версии не минуло и Claude-v2.
Пока выходит, что claude-v2 в наших продуктах работала бы хуже первой версии. За просадку в категории "code" не так жалко, а вот за docs, integrate, marketing - обидно.
Но в "reason" - она догнала ChatGPT-4 новый!
Про бенчмарки подробнее написано тут. Со времени последнего отчета, я усложнил часть бенчмарков, чтобы GPT-4 было к чему стремиться 🚀
Спасибо @Dimasfer за ключ для тестирования! 🙏💪
Ваш, @llm_under_hood 🤗
👍8🔥1