Telegram Group & Telegram Channel
Уничтожение LLM System Design 😎

Как отвечать на собеседовании, если вас спросят: «Постройка мне чат-бота с помощью LLM»? Разберем основные шаги на конкретной задаче.

Давайте пойдём по пунктам из этого поста.

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

Задача: создать чат-бота, который отвечает на финансовые запросы.

Исходные условия:
- В продакшене уже используется API GigaChat (временное решение).
- Доступен API ChatGPT.
- Есть два ассессора.
- Ответы предоставляются без контекста.

Ограничения:
- Ответ за максимум 2 минуты.
- Аппаратные ресурсы: 4 GPU (80 ГБ каждая, A100).

2️⃣ Теперь нужно определиться с метрик. Обычно в задачах построения дизайна система выделяют три вида метрик

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

Онлайн-метрики:
- Удовлетворенность клиентов (CSAT) — пользовательская оценка (1–5).

Оффлайн-метрики:
- Loss — насколько хорошо обучена модель.
G-Eval — метод «LLM as Judge», когда одна модель оценивает ответы другой по качеству (например, от 1 до 5).
Оценка ассессоров — реальные люди оценивают ответы по техническому заданию. Это ключевая метрика, с которой можно проверить корреляцию с G-Eval.
Бенчмарки — открытые или специально созданные под задачу бизнеса.

3️⃣ Теперь нужно определиться с данными, откуда и сколько их получить, а также как поделить на Train/Test 🕺

Выделяем ключевые сущности:
У нас есть диалог, а в диалоге:
- Запрос пользователя
- Ответ модели
- Маркер начала диалога
- Идентификаторы запроса, ответа, пользователя и т.д.

Способы получения данных:
➡️ Синтетика — быстро и дешево, но требует проверки (например, через G-Eval).
➡️ Открытые датасеты — бесплатны, но их нужно очищать (GPT или предобученные модели).
➡️ Собственные данные — качественно, но дорого и долго (нужны четкие ТЗ для копирайтеров).

Объем данных: Для обучения LoRA потребуется хотя бы 10 тысяч примеров для тренировки и около 700 для тестирования.
Для упрощения пока исключаем поиск контекста, работу с контекстом распишу в следующей части)

4️⃣ Построение пайплайна обучения 😺

Бейзлайн: предположим, что у нас уже есть метрики для текущего решения (например, на GigaChat).

Входные данные:
X — запрос пользователя.
Y — эталонный ответ.

Модели:
llama3.1 400b. Пробуем сначала запромпить модель и смотрим на результаты бенчмарков.
saiga_llama3.1 70b. Сначала промптим, затем обучаем под конкретную задачу.
Loss: Используем CrossEntropyLoss — простой и надежный метод для обучения LoRA на основе SFT.

Метрики:
На тренировочной выборке оцениваем Loss.
На тестовой — G-Eval, оценки ассессоров (на 500 случайных примерах) и бенчмарки.
Деплой: Для деплоя используем vllm.

5️⃣ Потенциальные улучшения 🐒

- Добавить контекст в ответы для повышения точности модели (реализуем в следующей части).
-Применить ORPO-метод, чтобы модель лучше понимала, какие ответы допустимы, а какие нет.
- Квантизация или дистилляция для того, чтобы уменьшить latency
Please open Telegram to view this post
VIEW IN TELEGRAM



group-telegram.com/artificial_stupid/424
Create:
Last Update:

Уничтожение LLM System Design 😎

Как отвечать на собеседовании, если вас спросят: «Постройка мне чат-бота с помощью LLM»? Разберем основные шаги на конкретной задаче.

Давайте пойдём по пунктам из этого поста.

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

Задача: создать чат-бота, который отвечает на финансовые запросы.

Исходные условия:
- В продакшене уже используется API GigaChat (временное решение).
- Доступен API ChatGPT.
- Есть два ассессора.
- Ответы предоставляются без контекста.

Ограничения:
- Ответ за максимум 2 минуты.
- Аппаратные ресурсы: 4 GPU (80 ГБ каждая, A100).

2️⃣ Теперь нужно определиться с метрик. Обычно в задачах построения дизайна система выделяют три вида метрик

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

Онлайн-метрики:
- Удовлетворенность клиентов (CSAT) — пользовательская оценка (1–5).

Оффлайн-метрики:
- Loss — насколько хорошо обучена модель.
G-Eval — метод «LLM as Judge», когда одна модель оценивает ответы другой по качеству (например, от 1 до 5).
Оценка ассессоров — реальные люди оценивают ответы по техническому заданию. Это ключевая метрика, с которой можно проверить корреляцию с G-Eval.
Бенчмарки — открытые или специально созданные под задачу бизнеса.

3️⃣ Теперь нужно определиться с данными, откуда и сколько их получить, а также как поделить на Train/Test 🕺

Выделяем ключевые сущности:
У нас есть диалог, а в диалоге:
- Запрос пользователя
- Ответ модели
- Маркер начала диалога
- Идентификаторы запроса, ответа, пользователя и т.д.

Способы получения данных:
➡️ Синтетика — быстро и дешево, но требует проверки (например, через G-Eval).
➡️ Открытые датасеты — бесплатны, но их нужно очищать (GPT или предобученные модели).
➡️ Собственные данные — качественно, но дорого и долго (нужны четкие ТЗ для копирайтеров).

Объем данных: Для обучения LoRA потребуется хотя бы 10 тысяч примеров для тренировки и около 700 для тестирования.
Для упрощения пока исключаем поиск контекста, работу с контекстом распишу в следующей части)

4️⃣ Построение пайплайна обучения 😺

Бейзлайн: предположим, что у нас уже есть метрики для текущего решения (например, на GigaChat).

Входные данные:
X — запрос пользователя.
Y — эталонный ответ.

Модели:
llama3.1 400b. Пробуем сначала запромпить модель и смотрим на результаты бенчмарков.
saiga_llama3.1 70b. Сначала промптим, затем обучаем под конкретную задачу.
Loss: Используем CrossEntropyLoss — простой и надежный метод для обучения LoRA на основе SFT.

Метрики:
На тренировочной выборке оцениваем Loss.
На тестовой — G-Eval, оценки ассессоров (на 500 случайных примерах) и бенчмарки.
Деплой: Для деплоя используем vllm.

5️⃣ Потенциальные улучшения 🐒

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

BY Artificial stupidity






Share with your friend now:
group-telegram.com/artificial_stupid/424

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

In February 2014, the Ukrainian people ousted pro-Russian president Viktor Yanukovych, prompting Russia to invade and annex the Crimean peninsula. By the start of April, Pavel Durov had given his notice, with TechCrunch saying at the time that the CEO had resisted pressure to suppress pages criticizing the Russian government. "There are a lot of things that Telegram could have been doing this whole time. And they know exactly what they are and they've chosen not to do them. That's why I don't trust them," she said. What distinguishes the app from competitors is its use of what's known as channels: Public or private feeds of photos and videos that can be set up by one person or an organization. The channels have become popular with on-the-ground journalists, aid workers and Ukrainian President Volodymyr Zelenskyy, who broadcasts on a Telegram channel. The channels can be followed by an unlimited number of people. Unlike Facebook, Twitter and other popular social networks, there is no advertising on Telegram and the flow of information is not driven by an algorithm. "There are several million Russians who can lift their head up from propaganda and try to look for other sources, and I'd say that most look for it on Telegram," he said. The picture was mixed overseas. Hong Kong’s Hang Seng Index fell 1.6%, under pressure from U.S. regulatory scrutiny on New York-listed Chinese companies. Stocks were more buoyant in Europe, where Frankfurt’s DAX surged 1.4%.
from tw


Telegram Artificial stupidity
FROM American