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

Недавно сдали новый кейс. С сюжетным поворотом и двумя языковыми моделями. #case

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

Отдел маркетинга пытается исправлять ситуацию дописыванием ключевых слов вручную на 10k активных позиций, но не успевает. Vector search пока не могут по ряду причин. Они попросили помочь.

Решение. Отправили им выгрузку с ключевыми фразами на каждый из их активных продуктов. Ключевые фразы, по 5-7 на продукт, идентифицируют разные сценарии, в которых человеку понадобится именно этот продукт.

Если загрузить эти слова как дополнительный индекс в их систему поиска, то запрос про “дырку на 8мм” теперь покажет дрели и сверла на 8мм. Это лучшее, что тут можно было предложить без смены системы поиска.

Под капотом

Клиент прислал дамп из продуктовой БД в виде SQL queries на 250 мегабайт. Дамп в формате Oracle, а сами таблицы и колонки на иностранном языке (не английский), да еще и нормализованы в 8 таблиц с триггерами. Продуктовые описания, естественно, тоже не на английском.

Решение было в два захода

Сначала конвертировали эти дампы в маленькую и читаемую SQLite БД. ChatGPT-4 написал скрипт, который бы конвертировал абстрактные Oracle SQL Create/Insert statements (скрипты для создния с нуля БД Oracle) в аналогичные для SQLite.

А потом попросили ChatGPT-4 еще и переименовать все таблицы и колонки из странного наречия в удобоваримый английский.

Получилась удобная и понятная БД, которую можно как смотреть локально, так и вызывать из скриптов.

На этом этапе ChatGPT-4 видел схему базы данных (что не являлось секретом), но не видел самих данных.

Потом просто прогнали по каждому продукту скрипт, который собирал промпт с полным описанием продукта и просил языковую модель сформулировать ключевые слова для поиска. Использовали Mistral 7B OpenChat-3.5, которая на сервере с NVidia 3090 отрабатывала по 15 продуктов в секунду.

Результаты сравнили на небольшой выборке продуктов вручную с GPT-4, принципиальной разницы в качестве не было.

Клиенту не было важно использовать локальные модели, но благодаря им получилось быстро получить результаты, не беспокоиться о бюджете, не тратить время на борьбу с сетевыми ошибками и rate limits (что бывает с ChatGPT).

Оценка Mistral 7B OpenChat-3.5 в данной задаче: 5 из 5. Будем использовать снова!


Update от 5 декабря 👋: клиенту не понравилась часть генерируемых ключевых слов. Для улучшения качества я использовал последние наработки из других проектов (см кейс про агента-писателя и про агента, который программирует себя). Тут:

- ChatGPT прошелся по истории слов и документам поисковой системы, и сжал всю информацию в компактную методичку для написания ключевых слов
- OpenChat-3.5 по этой методичке нагенерировал тестовых слов
- ChatGPT аккуратно просмотрел результаты, оценил их и написал вторую методичку. Она была про то, как выявлять плохие слова и улучшать типичные косяки, которые допускает OpenChat-3.5
- В рабочей системе слова генерируются теперь в два прохода Mistral-7B OpenChat-3.5, который работает по инструкциям от ChatGPT

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

Но если вдруг будут еще пожелания по улучшению, я просто перепишу методички с нуля с учетом новых фактов. "

ChatGPT, перепиши мне методичку с учетом новых отзывов от клиента! Внимательно прочитай все документы, которые прикреплены ниже.

- Исходная методичка для переписывания
- Новые отзывы от клиента
- Краткое описание проекта и продукта (JTBD)
- Исходная таблица с примерами продуктов и сгенерированных ключевых слов
- Описание pipeline продукта и краткие заметки про типичные косяки Mistral 7B OpenChat


Ваш, @llm_under_hood 🤗

---
PS: Другие посты из серии #клиентспросил:
- Кейс с ChatGPT про 10.000 € в месяц
- Нишевый lead generator для B2B продаж
- Платформа для автоматизации бизнес-процессов в компании
🔥30👍52🎉1
Ух, как все интересно становится. Читали последние новости про OpenAI?

Сэма Альтмана внезапно и резко уволил совет директоров прямо на созвоне. Грега Брокмана, в квартире которого начинался OpenAI 8 лет назад, не уволили, а просто выгнали из совета директоров. Но когда он узнал про это, ушел сам. Потом еще ушли три старших исследователя из OpenAI - Jakub Pachocki, director of research; Aleksander Madry, head of AI risk team, and Szymon Sidor.

Что происходит? Похоже, что думеры и ученые в совете ("ааа, AI нас всех погубит") решили перетянуть одеяло на себя, но немного не подумали.

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

А про возможность переезда на Open Source замену ChatGPT начинают спрашивать уже сейчас.

В общем, работы в области GPT/LLM всем внезапно и много привалило.

Ваш, @llm_under_hood 🤗
🔥14😱6🤔2👍1
Sam Altman уходит в Microsoft, где он возглавит новый исследовательский отдел AI, как написал Satya Nadella. Его товарищи идут с ним. Microsoft обещает предоставить ресурсы, свободу и двигаться быстро.

А новый CEO в OpenAI - это бывший глава Twitch, который продал его Амазону за 1B, и достаточно скучал, чтобы согласиться на такое предложение. Он еще раньше говорил, что пора замедлиться.

По-моему, это идеальный вариант. Сэму не придется начинать с нуля, а OpenAI сможет спокойно начать оттормаживаться.

Разве что теперь придется переключать все endpoints на Azure API 😂

Ваш, @llm_under_hood 🤗

PS: Не забываем, что основные мощности у OpenAI предоставлены Microsoft согласно контракту. И если MS посчитает, что контракт не выполняется, то она может просто щелкнуть выключателем.
😁10🤔5🔥4
#клиентспросил Кейс про неудобный Excel и 5 дней работы

Кейс очень простой, но он повторяется настолько часто, что заслуживает упоминания.

Проблема. У клиентов есть данные в виде кучи больших Excel файлов или sql дампов. Иногда данные прямо там и живут, а иногда в таком виде их присылают. Работать с такими данными практически невозможно.

Бизнес обращается с просьбой привести это в удобоваримый формат - причесать имена, распарсить колонки. Так, чтобы было удобно дальше анализировать. Для них это настолько важно, что готовы выделить до 5 дней работы! Оно все равно потом окупится.

Решение. Делаем прямо как в кейсе про товары, которые невозможно найти.

Сначала импортируем данные. Если есть sql дампы, то скармливаем схему в ChatGPT и просим привести к формату SQlite. Если есть Excel, то конвертируем в csv формат и загружаем прямо в БД пот помощи pd.read_csv(...).to_sql(...). Тут тоже ChatGPT может написать код.

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

Третьим шагом уже можно строить графики и отчеты. Либо напрямую в ChatGPT Data Analysis, либо, если данные нельза показывать опосредованно.

При использовании ChatGPT весь процесс занимает несколько часов (для пары десятков Excel таблиц общим размером в 40MB).

Кстати, если нельзя использовать ChatGPT совсем, то можно глянуть на локальный Mistral 7B OpenChat-3.5, который уже очень хорошо справляется с задачками про CSV и SQL (см табличку в бенчмарке)

Ваш, @llm_under_hood 🤗

PS: Другие посты из серии #клиентспросил:
- Персональный ассистент в компании
- Автоматическое исправление ошибок в каталогах продуктов
- Кейс с ChatGPT про 10.000 € в месяц
🔥10👍62
Парадокс ChatGPT 🤔

Почему новички (джуниоры) используют ChatGPT сильно больше и лучше, чем люди опытные?

Хотя у людей с опытом отдача от ChatGPT бы была в разы больше.

Ваш, @llm_under_hood 🤗
😁11🤣3👍1
Сегодня прошел вебинар AI Coding Assistants: Как программисту эффективно использовать AI

Огромное спасибо всем за участие, вопросы и обсуждения!

В комментариях к этому посту - конспекты того, что участники семинара вынесли из него для себя: новые вдохновляющие идеи и практические приемы. И это очень круто! 🤗

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

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

Ваш, @llm_under_hood 🤗
14👍1👎1
#клиентспросил Кейс про агента, который программирует себя.

У меня есть три любимых клиента, которые упорно хотят делать агентов и умные продукты. А я все сопротивляюсь и говорю, что "ну не будет эта фигня со свободой воли стабильно работать". 🤪

Но вода камень точит. В последних версиях продуктов c LLM под капотом задачи практически целиком формулируются самой моделью. Просто у нее написание больших промптов получается лучше.

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

Вот как она работает.

На самых первых этапах работы система “знакомится” с содержанием базы знаний (тысячи PDF файлов размера от 10 до 200 мегабайт) и сочиняет пояснения и инструкции для дальнейших промптов - про специфику запроса и про специфику языка документов.

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

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

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

Ваш, @llm_under_hood 🤗

PS: Другие посты из серии #клиентспросил:
- зачем нужно распознавание картинок в ChatGPT?
- Ринат, клиент хочет работать с AI продуктом конкурента. Что делать?
- словарик с краткими описаниями самых важных терминов (labs)
🔥203😁2👍1
#weekend пост про кулинарию, multi-hop и fine-tuning

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

Help me to find name of YouTube series where cook makes meals in a brutal Norwegian style. With a lot of smashing


ChatGPT полез в интернет с запросом и нашел вариант совпадающий буквально: шведский канал Brutal Kokk - Brutal Cooking). Это было то, что я просил, но не то, что я хотел.

Поэтому я переключил его с retrieval режима на ассоциативный поиск:

Wrong. Don’t browse, just make your own guess


И ChatGPT сразу же попал в точку! Это был норвежский канал "Regular Ordinary Swedish Meal Time". Не Норвегия, а Швеция. Про брутальность в названии канала ни слова. Но как они готовят морковный пирог!

Подход удобен в ежедневной работе с ChatGPT, но его можно и абстрагировать на продукты с LLM под капотом в целом.

Если нужно оперировать данными на уровне ассоциаций, тогда имеет смысл смотреть в fine-tuning моделей по вашим данным. Буквально тексты цитировать модель не сможет (для этого нужен retrieval), но у нее может появиться возможность работать со смыслами и ассоциациями. Такой вот дополнительный движок для multi-hop поиска и reasoning.

Ваш, @llm_under_hood 🤗
🔥112👏2😁1
Какие сложные проблемы вам помог решить ChatGPT?

Не просто для удобства, но вещи, которые невозможно было бы сделать самостоятельно?

Пишите в комменты!

А вот примеры кейсов, которые люди пишут в этой вдохновляющей ветке OpenAI в Reddit:

- Написать письмо директору школы, где ребенка буллят
- Выторговать скидку на авто, хотя торговаться совсем не нравится
- Продолжать общаться с бывшим мужем/бывшей женой после сложного развода
- Выучить C++ достаточно, чтобы написать сложный продукт
- Выучить Python, чтобы сделать дашборд для отслеживания лечения диабета у ребенка
- Помочь ребенку с трудной задачей по иностранному языку
- Создать software startup с нуля без опыта программирования
- Морально подготовиться к общению с отцом любимой девушки. Отец говорит на другом языке, и голосовой ChatGPT-4 играет его роль.

Ваш, @llm_under_hood 🤗
12🔥5
Amazon повышает цены в два раза на Claude (Amazon Bedrock Edition).

Они повышают цены на "Provisioned Throughput Hourly Price" (Часовая cтоимость предоставляемой пропускной способности). Похоже, что Сlaude пользуется хорошей такой популярностью при пережевывании больших объемов информации 👍

Интересно, не было ли это вызвано массовым переездом компаний с OpenAI на что-то более политически стабильное в свете недавних событий? 😆

Source: только что пришел email от aws.

Ваш, @llm_under_hood 🤗
😢4💯1
#клиентспросил Кейс про агента-писателя, которого научил ChatGPT

Сегодня я зарелизил вторую версию ассистента для маркетолога (описание изначального кейса тут). Теперь хочу кратко рассказать про реализацию технологических новинок под капотом.

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

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

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

Все эти конспекты писал сам ChatGPT-4 с большим контекстом! 🚀

Я просто брал самый мощный ChatGPT, скармливал ему весь контекст, не жалея tokens. И просил ужать всю информацию в очень компактное эссе на заданную тему или должностную инструкцию.

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

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

Когда у нас есть такие конспекты, промпты превращаются в очень простую цепочку в формате:

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

- общее описание всего процесса написания статьи
- гайд про структуру базы знаний
- гайд про поиску в базе знаний на тему
- эссе про компанию и чем она вообще занимается
- краткий каталог продуктов и сервисов компании


Четыре промпта в таком духе и получается рабочий API. Остальные шаги:

- Шаг 2: набросай мне план статьи на тему X. См гайды и релевантные выдержки из базы знаний ниже
- Шаг 3: разверни мне этот план в черновик. Все те же выдержки, а так же статьи про красивое написание статей - ниже
- Шаг 4: вычитай вот этот черновик. Гайды по стилю компании и примеры красиво написанных статей на схожую тему - ниже.

Вот я вам и рассказал все секреты реализации 😊

Кстати, тут получается забавно. На первом и втором шаге LLM планирует свою работу на третьем шаге. Но при этом отталкивается от человеческого запроса и заранее написанных гайдов про выполнение этих запросов. А те планы-то писались все той же ChatGPT. Немножко похоже на агентов? 🤪

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

Вся эта информация и будет основным кодом работающего приложения с LLM под капотом.

А если появятся новые нюансы и моменты, всегда можно поднять старый промпт и попросить переписать эссе с учетом новой информации.

Кто еще использует ChatGPT для компрессии информации и написания промптов для агентов?

Ваш, @llm_under_hood 🤗

PS: В комментариях выложу пример черновика статьи, которую написала эта система, и отзыв клиента.

PPS: Другие посты из серии #клиентспросил:
- Автоматическое исправление ошибок в каталогах продуктов
- Кейс про товары, которые невозможно найти
- Персональный ассистент в компании
🔥22👍85👏2
Как хорошо ChatGPT-4 Turbo говорит по-русски? А GPT-3.5?

Вот черновая версия языкового бенчмарка для GPT/LLM! Спасибо всем, кто прислал свои языки!

Еще не все формы с языками обработаны, я буду добавлять их по мере возможности. Но можно продолжать присылать новые языки, которых тут нет! Присылайте их в группу "Языки разные - код один".

Локальные open-source модели тоже позже добавлю в бенчмарк.

Ваш, @llm_under_hood 🤗

PS: Ноябрьский бенчмарк LLM моделей на продуктовых задачах (включая GPT-4 Turbo)
🔥16🤗1
Вторая версия языкового бенчмарка LLM моделей включает не только OpenAI ChatGPT. Теперь тут можно посмотреть, как хорошо понимают тот или иной язык локальные модели - те, которые можно скачать и запустить самостоятельно.

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

Бенчмарк - часть тестов LLM моделей от Trustbit.

Финальная версия и все обновления появятся в первую очередь в этом канале!

Ваш, @llm_under_hood 🤗
🔥17👏3
Как "завалить" ChatGPT 4 на простейших вопросах?

Достаточно задать вопросы, которые очевидны для человека, но не для текстовой модели. Например, вопросы про рифму или ударения.

Задним числом это очевидно - словарей и букварей с фонетикой не так много в текстовых данных для обучения. Текстовая модель будет тут плавать. А вот голосовые модели будут "знать" это гораздо лучше.

Именно поэтому вопрос про рифму, который изначально был в языковом бенчмарке для LLM, мы оттуда убрали.

Ваш, @llm_under_hood 🤗
🔥5
#клиентпорадовал Кто внедряет AI системы в бизнес? Давайте делиться приятными отзывами клиентов!

И радостью поделимся, и потенциальные клиенты могут увидеть наши результаты 👍

Для анонимизации можно просить ChatGPT пересказать и перевести. Но при этом исходный текст должен быть именно написан клиентом.

Ваш, @llm_under_hood 🤗
🔥6
Multilingual LLM Benchmark December-2023.png
420.4 KB
Бенчмарк ChatGPT и прочих LLM моделей за Декабрь!

- Тут есть наш первый мультиязычный бенчмарк, который сделали вместе с лингвистами из Код Один. Нам прислали 17 языков, каждый из которых был заполнен носителем языка.
- В продуктовый бенчмарк добавили Orca 2, Starling и Mistral 7B Notus-v1. Чудес не произошло.
- Все модели пересчитаны заново. Это - 12150 запросов всего. А если вспомнить про включенный везде beam-search=4 то и того больше.

- Ссылка на этот пост: https://news.1rj.ru/str/llm_under_hood/217
- FAQ по декабрьскому бенчмарку

Ваш, @llm_under_hood 🤗
13🤩4🤔2🤗1
Новости про конкурента ChatGPT от Google - Gemini, в сухом остатке.

- Заявлено три модели - Ultra, Pro & Nano.
- Pro & Nano будут доступны в Google Cloud в этом месяце.
- Pro по их бенчмаркам лучше, чем ChatGPT 3.5.
- Ultra, которая по оценкам лучше ChatGPT 4, выйдет когда-то в следующем году.

Имхо, если бы у Google было что-то стоящее, они бы выкатили сразу (как это делают OpenAI или Apple), а не кормили обещаниями.

Ваш, @llm_under_hood 🤗
14
Нас внезапно стало больше 1000 человек в канале. Давайте знакомиться и обрастать связями!

Networking всегда полезен, а во времена перемен - особенно. 🤝 Вдруг кому пригодится новая интересная работа или нужен будет человек в проект?

Три простых шага:
1. Вот мой linkedIn профиль: https://www.linkedin.com/in/abdullin/. Добавляйтесь - я добавлю всех!
2. Пишите свой профиль и два слова о себе в комментарии к этому посту. Добавляйте остальных, кто уже отписал выше
3. Время от времени поглядывайте в LinkedIn и отвечайте на заявки

Ваш, @llm_under_hood 🤗
🤝11🔥5🤡1
Хотите первыми узнать про модель, о которой будут писать в крупных каналах только на следующей неделе? 😎

Знакомьтесь - к трансформерам пришел милый пушистый зверек по имени StripedHyena-7B.

По цифрам - ничего выдающегося. Чуть хуже, чем Mistral 7B на задачах с маленьким контекстом, немного лучше на задачах суммаризации с большим контекстом.

Но это не трансформер! Ребята из Together.AI заменили convolutions на слой state-space model (SMM), что позволило ускорить работу модели. Да и требования к памяти стали еще лучше.

Потенциально это революция.

Blog | HuggingFace | базовая модель | Github

Вторая интересная модель - это просто ссылка на torrent от Mistral 7B. Там что-то новенькое в виде 8 экспертов на базе 7B моделей (MoE). Никто точно не знает, как это запускать, но все с нетерпением ждут NeurIPS - крупнейшую конференцию по deep learning на следующей неделе!

Andrej Karpathy удивляется, что выложили torrent, без профессионально смонтированного видео про революцию в AI 🤣

Ваш, @llm_under_hood 🤗
🔥273🤩3👍2🤔1
Вам не нужен RAG! И fine-tuning тоже не нужен!

Простите, это крик души после сегодняшнего воркшопа для европейской компании 😤

Если вы автоматизируете бизнес процессы при помощи AI/LLM/GPT, то не обязательно начинать проект с использования "тяжелой артиллерии": RAG, fine-tuning, RLHF и векторных БД. На использование и разворачивание подобных вещей могут уйти недели. А ведь можно показать бизнесу готовый к использованию прототип за считанные дни.

Для начала стоит выжать все возможное из обычного prompt engineering с дистилляцией знаний. Например:

1. Начать собирать входы и выходы на шагах процесса, который мы автоматизируем (Capture Feedback). Разметить вручную пару десятков кейсов
2. Сесть с экспертом и сгрести в кучу все релевантные документы на тему.
3. Сесть с ChatGPT и синтезировать краткие методички про то, как данный кейс автоматизируется.
4. Посмотреть, как ChatGPT (или локальная модель) справляются с известными кейсами на базе методичек. Собрать feedback и оценки
5. Попросить ChatGPT проверить оценки, категоризовать их и дополнить методичку.
6. Выкатить первую версию
7. Повторять шаги со сбором фидбэка и обновлением методичек.

Такое подходит к разнообразным кейсам от написания статьей по продуктам (да, там нет embeddings!), экспорта типовых запросов из email переписки, написания ключевых слов для продуктов, или создания отчетов по работе международного customer support за день.

Да, если речь идет про генерацию лидов из тысяч годовых отчетов по 20-200MB каждый, то там без RAG уже будет тяжело. Но ведь и мы начинаем не с таких сложных кейсов?

Пар выпустил))

Ваш, @llm_under_hood 🤗
👍5015🤔4