TG Telegram Group & Channel
LLM под капотом | United States America (US)
Create: Update:

Одна история разработки своего Reasoning - Эпизод II

Продолжение Эпизода I

Шаг 12. Приделал свой tracing, чтобы удобно было смотреть все, что происходит под капотом каждого логического блока. Даже сделал так, чтобы было удобно копипастить полный дамп в ChatGPT на предмет анализа. Ну как я? Мои лучшие друзья - ChatGPT и Claude. Заодно и визуализацию для JupyterLab сделали.

Шаг 13. Прошка умно анализирует и видит ошибки. Она пишет красивые и хорошие промпты, которые... совершенно не помогают в этом пресловутом вопросе. А текста там всего 1000 токенов! Но зато хоть отладил "обвязку" для быстрой проверки гипотез.

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

Но проблему со стабильным ответом на тот вопрос это не решает...

Шаг 15. Ничего не работает. Дурацкая GPT-4o, ничего не может, хотя все факты перед глазами. Не эксперт, а новичок, какой-то.

Шаг 16. Думаем. Как я бы мы поставили процесс студенту-новичку? “Не спеши с выводами. Посмотри на вопрос и выпиши все условия, которым он должен удовлетворять, чтобы ответ был верным. А потом исследуй каждое условие в отдельности, поищи в документации, выпиши цитаты. А потом сделай обзор и выводы”. А что если так и сделать? Сначала разбить на под-задачи, исследовать каждую отдельно, подгружая из документов, а потом слить ответ вместе?

Шаг 17. Это сработало! Система не только сама выявила 3 риска в вопросе пользователя, но и решила еще добавить в план анализа “заглянуть в документацию регулятора на эту тему”. Она умничка!

Теперь можно генерировать такие планы, параллельно запускать их на поиск информации и выполнение, а потом делать общий вывод. Прямо o1 pro для конкретной области!

Шаг 18. Оно не работает… - повторить этот проблеск сознания никак не получилось. Во всех других вызовах планировщика система валит в один пункт исследования всех рисков по этому вопросу. А с таким подходом она никогда не найдет правильный ответ, т.к. не будет искать нужные фрагменты.

Шаг 19. Теряю надежду. Какие только Structured Checklists варианты не пробовал.

По крайней мере у меня есть воспроизводимая проблема - “как из короткого запроса пользователя одним промптом стабильно строить план (или дерево) для дальнейшей работы с документами?”

Третий эпизод задокументирую уже завтра. Он - совсем свежий.

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

OpenAI для этого притащили reinforcement learning.

Ваш, @llm_under_hood 🤗

PS: Эпизод III тут

Одна история разработки своего Reasoning - Эпизод II

Продолжение Эпизода I

Шаг 12. Приделал свой tracing, чтобы удобно было смотреть все, что происходит под капотом каждого логического блока. Даже сделал так, чтобы было удобно копипастить полный дамп в ChatGPT на предмет анализа. Ну как я? Мои лучшие друзья - ChatGPT и Claude. Заодно и визуализацию для JupyterLab сделали.

Шаг 13. Прошка умно анализирует и видит ошибки. Она пишет красивые и хорошие промпты, которые... совершенно не помогают в этом пресловутом вопросе. А текста там всего 1000 токенов! Но зато хоть отладил "обвязку" для быстрой проверки гипотез.

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

Но проблему со стабильным ответом на тот вопрос это не решает...

Шаг 15. Ничего не работает. Дурацкая GPT-4o, ничего не может, хотя все факты перед глазами. Не эксперт, а новичок, какой-то.

Шаг 16. Думаем. Как я бы мы поставили процесс студенту-новичку? “Не спеши с выводами. Посмотри на вопрос и выпиши все условия, которым он должен удовлетворять, чтобы ответ был верным. А потом исследуй каждое условие в отдельности, поищи в документации, выпиши цитаты. А потом сделай обзор и выводы”. А что если так и сделать? Сначала разбить на под-задачи, исследовать каждую отдельно, подгружая из документов, а потом слить ответ вместе?

Шаг 17. Это сработало! Система не только сама выявила 3 риска в вопросе пользователя, но и решила еще добавить в план анализа “заглянуть в документацию регулятора на эту тему”. Она умничка!

Теперь можно генерировать такие планы, параллельно запускать их на поиск информации и выполнение, а потом делать общий вывод. Прямо o1 pro для конкретной области!

Шаг 18. Оно не работает… - повторить этот проблеск сознания никак не получилось. Во всех других вызовах планировщика система валит в один пункт исследования всех рисков по этому вопросу. А с таким подходом она никогда не найдет правильный ответ, т.к. не будет искать нужные фрагменты.

Шаг 19. Теряю надежду. Какие только Structured Checklists варианты не пробовал.

По крайней мере у меня есть воспроизводимая проблема - “как из короткого запроса пользователя одним промптом стабильно строить план (или дерево) для дальнейшей работы с документами?”

Третий эпизод задокументирую уже завтра. Он - совсем свежий.

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

OpenAI для этого притащили reinforcement learning.

Ваш, @llm_under_hood 🤗

PS: Эпизод III тут
🔥55👍119🤝6🤔2🙏2😢1


>>Click here to continue<<

LLM под капотом




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)