Как стать автором
Обновить

Проанализируй меня если сможешь! Мета вопрос, или как я не перестал бояться и полюбил большие языковые модели

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2K

Прогрев

Здравствуйте дорогие читатели хабра, сейчас утро воскресенья, пожалуй невероятно удачный момент для спонтанного написания статьи на хабре, надеюсь в этом вы согласитесь со мной :) что ж, here we are!

Я знаю, вы все любите инфоцыганские истории успеха, что ж побалую вас пожалуй! Но и про жызу мы конечно же не забудем. Итак приступим:

Инстаграм: я просыпаюсь утром в Cupertino, мне нужно выпить чашэчку кофэ и принять ванну!

ГосУслуги: возвращаюсь с того света когда звенит будильник в 8 утра, потому что просидел до 2-х ночи занимаясь изучением ютюба, кофе я не пью, подрываюсь помыться, ровно в 8:35 надо быть в машине, чтобы отвезти ребенка в школу и оттуда на работу.

Инстаграм: мы с улыбкой садимся в свою теслу и едем в школу!

ГосУслуги: мы как в армии по секундомеру замеряем каждую минуту надевая штаны, носки и т.д. И нет, госуслуги, на этот раз моя взяла, tesla model y действительно клевая :)

Инстаграм: приезжаю на работу в VmWare в офис в Palo Alto, меня ждет продуктивный день и решение проблем мирового уровня с крутой международной компании!

ГосУслуги: не ждёт! И мне даже придется заниматься унылой какой-то рутиной а не тем что мне нравится.

ГосУслуги на ГосУслугах: censored - слишком темная сторона моей жизни, вам пока рано об этом знать! Скажем так, слухи о клёвости биг теха сильно преувеличены :)

Когда хочется праздника

Инстаграм: на работе один успешнее другого и все обсуждают трэнды, стонки и Илью Маскова.

ГосУслуги: "всегда говори да" (c). Обсуждаем мы значит Эй Ай как завещал Сундар Пичай-эй-ай-эй-ай-эй-ай.

ТикТок: Мы шли по офису и меня поразило светом капитализма и в моей голове появилась отчетливая идея которая улучшит в сотню раз успех моей компании!

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

Инстаграм: мы могли бы использовать ИИ чтобы анализировать логи и находить проблемы в работе нашей базы данных

ГосУслуги: баги сыпятся в трекер и добрую половину времени программеры тратят на то чтобы возиться с этим, так сказать успехом.

Инстаграм в моей голове: ща запилю мега софтину и приду к успеху моментально, стану наконец-то красавчиком! Куплю баленсиага и схожу в барбершоп!

Одноклассиники: ты сидишь с утра до ночи целый месяц и выглядишь как айтишник!

Just Do It

Ну что ж, пора действовать! Я пообещал менеджеру безудержный успех, получил 3 недели на исследования и отбросили лирику в сторону и вошел в любимое состояние - deep dive.

Итак, мне нужно было было как-то проанализировать логи (обычные джаванские logback логи) с помощью какой-нибудь llm-ки, раз уж у меня тут образовался микро стартап, то я решил действовать как хипста папа. Первым делом я попытался понять, "что происходит?" , а как мы знаем, самое главное что нам надо сделать, это как можно дешевле проверить теорию. Я пошел на поклон к чату дтп. Бинго!!! Если я смогу сделать примерно что-то похожее, когда я спрашиваю ИИ и оно мне молвит человеческим голосом! Это то что мне надо.

"Его борьба"

Первым делом я попал на huggingface.co самый крутой сайт (целая инфраструктура) для ИИ. Это по-сути аналог github только для ИИ. Сразу понял, что меня ждет много чего нового и начал читать документацию, как есть.

  • Узнал что есть дата сеты на которых тренируют модели (по сути мега гигантские таблички с записями, например imdb, сами можете посмотреть, там все наглядно).

  • начал поиск моделей для решения проблемы и конечно же первым делом полез за лламой и получил по щщам, потому что цукерберг растил сво ягодку не для таких мужланов как я) мой запрос за месяц так никто и не принял.

  • следующим был конечно же mistral, который доходчиво объяснил мне что я сынок со своими 32 гигами оперативы на макбуке, что при таком раскладе ждать ответ на запрос надо будет 4 минуты.

  • но не беда, я накопал много клевых моделей: openllama, tinyllama, gpt2(да да, тот самый чат дтп только версии 2), bert-base-uncased, phi-1.5, phi2 и прочие

Я подумал, что до успеха рукой подать и решил запихать в чат дтп еще один вопрос к логам и он любезно мне сообщил, о том что мол братюня ты конечно крашеный хипста и тебе надо все и сразу, но только вот есть такое понятие как Context Window и оно всего 4к токенов и куда ты собрался запихать 100мб логов это не мои проблемы!

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

Пришлось включать инженера и начинать думать, было больно, неприятно. Я тут же откопал такую вещь как RAG но ничего не понял, потом мне мой друг из ФБ, привет Мишаня! Прислал статейку на RAG опять, и я опять ничего не понял, потому что думать это не приятно.

Конечно же первое что вылезло в поиске после HF (huggingface) был langchain который обещал светлое будущее и почти что коммунизм незамедлительно. Я установил ollama-у и это конечно кайфовая тулзовина, она теперь в моем арсенале, люблю ее.

Но RAG я конечно не осилил, потому что хипстерский лангчейн лезет вечно в интернет и потом не может подключиться к своему серваку потому что у них вэйтлист мемберов и ниче нельзя сделать (я потом нашел как это отключить и все равно научился пользоваться лангчейном: export LANGCHAIN_TRACING_V2="false")

ГосУслуги: После всяких скитаний по помойкам я таки осилил RAG с помощью HF и sentence-transformers

Лирическое отступление - RAG это семантическая база данных которая позволяет делать запрос в терминах смысла а не синтаксиса и когда ты получил данные ты уже эти данные которых немного загоняешь в llm-ку.

В итоге я когда сделал это всё, запрос к БД (кстати, минутка рекламы квадратнта) я понял, что пора приступать к самому главному и стремному шагу!

А ты бы меня любил бы если бы я не родилась???

Да да, вы правильно догадались, чертов prompt engineering.

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

Hidden text

What important truth do very few people agree with you on

Тащусь от Питера, не могу, простите :)

P. S. кто не читал, всем срочно бежать покупать и читать Zero To One

Какой вопрос я должен задать, чтобы правильно сформулировать мой вопрос?

Расшифруем:

  • Мета вопрос - в каком виде я должен задать вопрос к ллм к моим логам... к вселенной, чтобы получить правильный ответ? Правильно сформулированный вопрос дает 80% ответа. Это самая главная мудрость от Стэтхама, иначе ничего не получится. В моем случае мне нужен был мета вопрос, чтобы научить ЛЛМ-ку ловить рыбу понимать что мы ищем и зачем.

  • Вопрос - это уже вопросы которые я буду создавать из мудрости которую я взял из мета вопроса

  • По-сути, если на крестьянском - вот у меня есть какой-то текст, как извлечь смысл из этого текста и что-то из этого в итоге получить полезное?

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

Шеф все пропало

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

Инстаграм: с модным бумажным стаканчиком в руке в красивом офисе Broadcom-а в Palo Alto (да да, ВмВару купил бродком).

А я так и не знаю толком что мне презентовать.

Такие прекрасные моменты отчаяния обычно самые интересные. Пришлось выдохнуть и подключить уже чувства! То есть интуицию и отпустить полет мысли.

А когда ничего не получается, то мы делаем что? Нет не правильно, не leetcode (хотя если уволят после всех твоих ахахаха розовых обещаний и лапши то таки придется сесть и за него). Перед литкодом можно подключить логику.

"Производная не может мыслить, следовательно не существует!"©

Итак, у нас есть сотня миллионов записей и AI который не знает, что с этим делать и я, который не знает, что делать с ИИ и логами. И тут размышляя над мета вопросом я допёр! Я думаю про запись в логе как о данных смысл которых понимаю Я, я значит если в таком виде я задам вопрос к ллм, то все мои вопросы превратятся в запросы! Sql запросы! (Бонд, Джеймс Бонд! Ага)

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

Представим себе это как boolean переменную: true or false? Казалось бы, я начинал свою проверку теории простым вопросом к чату дтп и вернулся в итоге к тому же, это конечно крышесносная штука. Теперь когда у нас есть boolean не проблем построить формальную теорию на основе этого подхода/фреймворка.

Например я могу спросить про каждое событие они является ошибкой или нет и посчитать отношение количества ошибок к хорошим сообщениям. Дальше я могу спросить - а в этой строке там ошибка в стейт машин репликации или ошибка в стримах или в консенсусе? Например, понимание есть ли ошибка в протоколе консеснуса может быть выведена из сотни другой более мелких вопросов, как это сообщение оно повышает RANK запроса от ноды? И потом посчитать какие ноды постоянно повышали ранк запросов что означает что у нас был лайв лок в системе, потом это можно будет сопоставить с ошибками соединения, например - в 3 часа дня я знаю что был рост RANK хэй дружище, поищи как были ли ошибки соединения или перегрузка какого либо сервера в это время?

В общем можно делать реальных ИИ агентов живущих своей жизнью и постеппенно готовящися к захвату мира.

Зи Ънд

Фуух, это было интенсивненько) я написал эту статью в один присест без исправления и добавления текста!

Для тех кто дочитал до конца, вот вам награда, мои наработки кода на github

Всем удачи в поисках мета ответа!

41 или 43

Теги:
Хабы:
Всего голосов 9: ↑0 и ↓9-9
Комментарии5

Публикации

Истории

Работа

Data Scientist
98 вакансий

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн