Иван Закутний про
196 subscribers
130 photos
3 videos
161 links
Авторский канал про инженерию умных систем.
По всем вопросам: @m0n0x41d
Download Telegram
BRUH 🗣
Please open Telegram to view this post
VIEW IN TELEGRAM
4🌭1
One shot tickets ребят.

Че та за тикеты, ваши мысли?

Поправить респонс код в ручке?
🌭2
Если без шуток – отпишитесь кто уже попробовал Gemini 2.5 Pro. Я пока не могу добраться до ноута 😭

Че делали?
Чем то лучше соннета? Подойдут хотя бы субъективные ощущения.

Маркетинговые стоны в твиттере как обычно нагрузки несут маловато, все примеры задачек которые «оооуоооуоо посмотрите как круто сделало!» Claude итак норм тащил.

Из бенчмарков интересны от Рината Абдуллина которых пока для новой модели нет (очень ждем!)
Please open Telegram to view this post
VIEW IN TELEGRAM
🌭1
Все perfomance review в которых я когда либо участвовал были чем-то вроде цирка лицемерия – тебя нахваливают за то, где ты был молодец, если серьезных косяков не было - вообще их не упоминают, или упоминают вскользь. Ну и иногда дают прибавку которая приближает тебя к нижнему грейду по рынку (сверху или снизу :) и стремится покрыть инфляцию.

Один мой знакомый аналитик пошел джуном в Яндекс, очень толковый парнишка. Обещали через N месяцев ревью, если косяков нет – повысят оклад.

Результат – Биба. Пацан смайнал в банк и правильно сделал.

Perfomance review как абстрактная концепция может и норм, только правда вот в чем:

1) если вы будете косячить как Олег, никто не будет ждать очередного PR в календаре и Лид начнет стучать по башке сразу.

2) обещания ничего не стоят. Пустая похвала - приятна, но тоже ничего не стоит. Если вам обещают прибавку на следующем ревью - фиксируйте это обещание а переписке, а потом все время пока работаете до этого PR сами фиксируйте свои достижения. Так будет нааааамного сложнее вас прокатить. Ну и в рефлексии потренируетесь.

Вообще конечно самая крутая система была в DBI, когда в тебя кидают таблицей с грейдами и списками знаний/задач которые надо обрести и доказать на практике. Очень прозрачно, и далеко не все сразу ломятся по грейдам подниматься.

В любом случае, чтобы там не было – pr, грейды, или вообще ничего - свои достижения и косяки лучше фиксировать самостоятельно. Далеко не каждый менеджер хорошо фиксирует последние, и редко какой вообще нормально фиксирует первые.
🌭2
This media is not supported in your browser
VIEW IN TELEGRAM
Всем и повсюду – привет!

Я заползаю в свою AI неделю и начну делиться наработками и мыслями по мере их появления.

Сейчас же представляю вам небольшой пост на тему Квантовых Вычислений, не вижу причин не поделиться материалом раз он появился 🥳

Мне было интересно посмотреть что это такое, и немного помечтать куда оно выльется :)

Оказалось чуть менее интересно, чем я думал 🤷‍♀️

Методичка по тайм трекингу тоже будет на этой неделе, но чуть позже 💃
Please open Telegram to view this post
VIEW IN TELEGRAM
3🌭11
Жесть канешна они с козырей зашли на интенсиве.
Закинули два дока, и лабы – рассчет на один день? Ну если на доки забить и сразу лабы ломануться делать!

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

Вероятно что создатели интесива не подразумевали что большая часть, или вообще кто-то так будут к изучению подходить... Ну, главное нахватать материала и лабы сдать 🚗

По части первого документа – Foundational Large Language Models & Text Generation я вам немного написал

Внутри так же ссылки на оба документа и на NotebookLM сгенеренные подкасты по ним же.
Please open Telegram to view this post
VIEW IN TELEGRAM
2🌭1
А лабы кстати, вообще фигня 🙂
🌭1
Привет, завершаем курить бамбук с первого дня интесива.

Я очень борюсь с тем чтобы не утыкаться в приложенные источники, ибо как раз там, там мякотка! Ну ладно, вот отчет или типа того.

Тема второго дня интенсива – “Embeddings and Vector Stores/Databases"

И три лабы.

Ждите новостей сегодня вечером или завтра утром по этому материалу.

Саммари подкаст от NotebookLM как обычно прилагаетяся, можно послушать тут
🌭41
Ну а вот пасхалки в виде бонусного папируса мы уважаем, спасибо, нрааааиица!

В конце второй лабы первого дня (про эвалюйшены) прицепили это

Тут у нас про методы оценки LLM, рассказывают как от MVP дойти до прода и сколько ног при этом придется сломать.

есть три основных подхода к оценке:

- Computation-Based Methods: количественная оценка, BLEU, ROUGE и прочее. Быстро, но не всегда точно.
- Human Evaluation: самое надежное (правда ведь?), но дорого и долго.
- Autoraters: оценка с помощью других LLM, попытка баланса между масштабируемостью и качеством.

Опять проталкивают – "документируйте всё!" Молодцы))

Эвалы это тоже мучение LLM, поэтому тут все еще работает правило garbage in - garbage out.

Про autoraters интересно - они могут давать bias (позиционный, к длине текста, к своей модели), но есть разные техники для борьбы с этим.

В документе даже есть таблица с разными моделями-оценщиками и их особенностями.

Структура оценки для LLM сложнее, чем для обычных ML-моделей. Нужно учитывать, что "правильный" ответ может быть не один, а метрики надо адаптировать под бизнес-задачу.

Мета-оценка тоже важна (да-да сами оценщики надо оценивать 😃): как понять, что сам оценщик адекватен?
Уже есть много датасетов для этого.
Please open Telegram to view this post
VIEW IN TELEGRAM
🌭11
У нас было 2 кластера TPU, 75 слоев семантик роутера, полдюжины мелких PydanticAI агентов, половина квоты Google Cloud и целое множество мелких опенсорсных моделей всех семейств и квантизации, а также три набора синтетических размеченных данных, five-shot CoT промпты, контейнер с жирнющим pgvector постгрессом, терабайт выкачанных маркдаун документов, ржавые гвардрейлы и морда на чейнлите.

Не то чтобы это был необходимый набор для корпоративной RAG-системы.

Но если начал собирать лишние зависимости для ML-стека, становится трудно остановиться.

Единственное что вызывало у меня опасение — это LangChain. Нет ничего более беспомощного, безответственного и отчаявшегося, чем ML-инженер севший на дерьмовые библиотеки.

Я знал, что рано или поздно мы перейдем и на эту дрянь.
🌭62
Честно говоря, даже не знаю, что рассказать про WhitePaper о эмбеддингах и векторных хранилищах из вчерашнего дня интенсива.

Например, в конце этого дока уже 58 других источников 🙂

Ноубуки лабы были короткие – в основном опять про примеры использования API Гугла, чуть-чуть Кераса. Была питоновская ChromaDB, немного перемешали матрицы с векторами, потыкались в similarity.

В общем, как обычно — если нет времени, послушайте подкаст, а если время есть — обязательно почитайте сам WhitePaper.

Обмазываться Embedding круто, модно и полезно — не только при построении RAG-систем, но, например, и для Semantic Router. (До сих пор, на момент первой бумаги третьего дня, ни одного упоминания про такое использование 🙂

Semantic-router библиотека не сырая, уже даже брейкинг-чендж версию пережила 🤣.

У неё уже две с половиной тысячи звезд на GitHub (будет больше, я уверен), потому что с помощью Semantic Router вполне можно построить очень достойного ассистента в плане детерминированного выбора.

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

Первый и основной документ третьего дня называется очень знакомым словом - Agents, полностью меркнет на фоне доки про вектора – опять про RAG, про Vertex AI.

Вообще не рекомендую к ознакомлению, не тратьте время (по крайней мере первую часть, там есть какой то advanced док, который я еще не прожевал, ждите)

Ну реклама, да, а кто спонсор? Чей Kaggle в конце концов? И тем не менее Vertex AI неплохая платформа, если вы готовы к полному вендерлоку... почему нет?


Рассказали про tool-calls, очень аккуратно упоминают, что "сложно! Сложно может быть! Делай больше в RAG", но очень конкретно – "Агент – это не просто LLM с тулами, там нужно делать cognitive architecture".

Вот это cognitive architecture очень важно подчеркивать и нормально проектировать. Да, я сейчас опять скажу это – semantic-router, similarity!

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


А пока мне кажется, что пространство возможностей вокруг LLM в AI системах благодаря эмбеддингам очень и очень сильно расширяется. Работает это достаточно быстро, прям ну вот так и хочется каких то сценариев, переходов в виде деревьев нахреначить... А может все таки и циклических графов? 😨

В общем и целом саммари такое – важно помнить, что эмбеддинги это не только про векторные базы данных и RAG. Вот.
Please open Telegram to view this post
VIEW IN TELEGRAM
🌭22
Для совсем ленивых или тех кто вообще не в теме, вот выжимка из дока от NotebookLM в любезном переводе gpt:

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

В техническом документе рассматриваются различные типы встраиваний, включая встраивание текста (встраивание слов и документов с использованием таких методов, как Word2Vec, GloVe, Doc2Vec, и тех, которые получены из больших языковых моделей, таких как BERT и Gemini), встраивание изображений и мультимодальное встраивание, встраивание структурированных данных и встраивание графов.

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

Векторный поиск — это мощный метод, который выходит за рамки сопоставления ключевых слов путем поиска значения в различных модальностях данных с использованием встроенных семантических представлений.

Эффективный векторный поиск опирается на алгоритмы Approximate Nearest Neighbor (ANN), такие как Locality Sensitive Hashing (LSH), KD-деревья, Ball-деревья, Hierarchical Navigable Small Worlds (HNSW) и ScaNN, чтобы преодолеть ограничения линейного поиска в больших наборах данных.

Векторные базы данных — это специализированные системы, предназначенные для хранения, управления и запроса вложений в масштабе для производственных сред, решая такие проблемы, как масштабируемость, доступность и согласованность данных. Примерами являются Vertex Vector Search от Google Cloud, AlloyDB, Cloud SQL Postgres и Pinecone.

Встраивания и векторные хранилища позволяют использовать многочисленные приложения, в частности Retrieval Augmented Generation (RAG), который объединяет извлечение соответствующих документов с использованием семантического поиска с большими языковыми моделями для генерации более точных и фактических ответов с указанием источника.

Выбор модели встраивания и векторной базы данных должен основываться на конкретных данных, варианте использования, бюджете и бизнес-потребностях.
🌭3
Сколько HR сможет ответить на этот вопрос с пикчи ниже?
Anonymous Quiz
63%
0% 🤤
38%
100% 😎
🌭1
А это точно computer autopilot? 😈

Просто сильно похоже на прилизанный browser-use

Выглядит конечно здорово. Отличный пример как надо воровать опенсорс 😃
Please open Telegram to view this post
VIEW IN TELEGRAM
🌭2
Короче, сижу я такой наслаждаюсь своей ноотропной таблеткой с Шен Пуэром и начинаю затаскивать в наш проект локальный энкодер семантик роутера (чтобы каждый раз на стартапе деньги не тратить, пусть и небольшие, на пересоздание векторов в OpenAI апихе)

Ну вроде все норм, Fastembed работает как надо.

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

Смотрю чо есть в либе на поддержке:

- Local – ну это чуть ли не тупо baseIndex, храним все в памяти.
- pinecone – тот самый опенсорс у которого из опенсорса только сдк-клиент, в который надо API токен пихать.
- postgresql with pgvector – ну тут все понятно
- qdrant – не такой зашкварный опенсорс, можно запустить контейнер и вроде как без ограничений


Ну в целом, выбор очевидный, правда ведь? Постгресс бери и делай.

Взял и сделал, а там try/except с попыткой импорта в init конструкторе 😳

Ну в целом ладно, с кем не бывает, думаю я – не беда! Отнес пацанам PR с небольшими изменениями, себе пока воткнул

sys.modules["semantic_router.index.postgres"].psycopg2 = psycopg2

Ура все заработало! semantic-router создал на стартапе табличку, записал в нее все все вектора!

Только вот в логах больно много ворнингов:

base.py:108 - get_utterances() - Index is None, could not retrieve utterances.

Здесь мое хлебало борщей принимает идеально квадратную форму.

Во-первых – какой еще base.py?
Во-вторых – В смысле Index is None?

Да, все верно – base.py с BaseIndex 😃
Да, все правильно – get_utterances() в PostgresqlIndex вообще не реализован.

Я все понимаю – опенсорс. Надо как то деньги зарабатывать... А нахрена это релизить и в доку писать?

Нет времени дописать – сделайте майлстоун, покличьте народ, это норм практика.
Please open Telegram to view this post
VIEW IN TELEGRAM
2🌭1
Вот и кончилась неделя интесива про LLM трансформеры и все что вокруг них от Google/Kaggle.

тут написал небольше резюме по 3-ему и оставшимся дням.

TLDR;
4 - 5 день практически целиком в мусорку, 1-3 забираем документы, изучаем пейперы в источниках, умнеем, бежим дальше.

А дальше все самое интересное 💖
Please open Telegram to view this post
VIEW IN TELEGRAM
🌭11