Pull to refresh

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

Level of difficultyMedium
Reading time6 min
Views2K

Прогрев

Здравствуйте дорогие читатели хабра, сейчас утро воскресенья, пожалуй невероятно удачный момент для спонтанного написания статьи на хабре, надеюсь в этом вы согласитесь со мной :) что ж, 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

Tags:
Hubs:
Total votes 9: ↑0 and ↓9-9
Comments5

Articles