Интересное что-то
517 subscribers
2.71K photos
253 videos
138 files
4.51K links
Материалы и мысли, понадерганные отовсюду
Блог: https://t.iss.one/asisakov_channel
Чат: https://t.iss.one/youknowds_chat
Download Telegram
Forwarded from TechSparks
С Днем знаний, дорогие читатели! Хочется надеяться, что если вы читаете этот канал, то знания вам небезразличны:)
Первого сентября хочется поделиться полезным и для тех, кто учит, и для тех, кто учится. Ну, и актуальным, естественно, про ИИшечку.
У Anthropic есть немало курсов для технарей, но я бы посоветовал на странице по ссылке обратить внимание на:
- AI Fluency: Framework & Foundations
- AI Fluency for Educators
- AI Fluency for Students
- Teaching AI Fluency
(по-русски мы обычно говорим «ИИ-грамотность», но fluency подразумевает чуть большее и тем мне больше нравится)
Курсы бесплатны, но получше многих платных;)
https://anthropic.skilljar.com
Forwarded from Refat Talks: Tech & AI
This media is not supported in your browser
VIEW IN TELEGRAM
AI Creative Tools: State of Play - чудесная презентация-шпаргалка от партнера a16z

Партнер a16z Justine Moore тратит большую часть дня на тестирование последних AI-моделей и воркфлоу для всех форм креативного контента - изображения, видео, аудио, 3D. И собрала все это в красивейшую презентацию + с примерами и промптами - все как мы любим. Увидел там много интересного, уверен вам тоже зайдет - делюсь.

Это выжимка от человека, который тестирует эту дичь каждый день и отобрал только топ на сегодняшний день:
- Какие модели решили проблему консистентности персонажей (с конкретными примерами как это делать)
- Что использовать для каждой задачи: Veo 3 для общей генерации, Hailuo 2.0 для физики, Seedance Pro для монтажа
- Почему про-криейторы юзают Krea для тестирования промптов на куче моделей одновременно
- Какие фичи уже есть vs что еще в разработке (спойлер: больше рабочего, чем кажется)

Преза тут: https://www.canva.com/design/DAGw9BX8VoE/J2aeyzKKZobzCWR9hsZsBQ/edit

P.S. Кто такие a16z я писал и у них кстати на днях вышел свежий The Top 100 Gen AI Consumer Apps с их топом и аналитикой, зацените тоже.

Сохраняйте и репостните если было полезно!

🔥🔁
Как мы стали #2 App Store US с Rork iOS аппом, который превращает любую идею в приложения

Rork – это самый быстрый способ принести свою идею в ваш телефон. Вы пишете какое приложение вам нужно, Rork делает его с помощью AI, и вы сразу можете пользоваться им внутри Rork аппа хоть каждый день, или скинуть ссылку друзьям. Никаких танцев с бубном с TestFlight и App Store!

Приложения получаются как настоящие и могут использовать AI (делать чатботов, анализировать аудио и картинки, и даже генерить картинки с NanoBanana), а также почти все нативные iOS функции: камеру, вибрации, и тп

Пока мы делаем простые аппы и игры без бэкэнда, но самый интересный learning был в том, что оказывается многим этого уже достаточно

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

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

Им нужно очень простое приложение, которое решает их маленькую боль. Часто они понимают, что они не единственные в мире, кто имеет эту проблему, и решают запуститься в App Store, начать принимать платежи и создают свой маленький бизнес.

Все как завещал PG – лучшая идея для стартапа, это проблема, которая есть у тебя.

История
Последние 6 месяцев мы успешно растили веб версией Rork, которая растет быстрее 99% SaaS бизнесов пред AI эпохи, и уже достигла несколько миллионов ARR.

У Левана давно была идея – а что если добавить AI агент Rork в мобильное приложение, которое будет сразу принимать форму приложения, которое вы попросили? Такой универсальный апп делающий другие аппы и позволяющий их пошерить с друзьями

Потом пришли конкуренты Vibecodeapp, которые начали активно копировать Rork, но чтобы дифференцироваться запустили свое мобильное приложение.

Запуск у них не пошел несмотря на хайповое название, помощь Nikita Bier, кофаундер-инфлюенсера с 100к подписчиками и раунд в $9M – работает сильно хуже, и людям все равно хочется публиковать аппы в Апп Стор, поэтому им пришлось копировать нашу веб-версию.
Но там у нас давно полная доминация, где мы по SimilarWeb скоро обгоним Bolt в категории мобильных приложений.

При этом мы времени не теряли, и параллельно сделали свой iOS апп, который благодаря гениальности Левана и нашей маленькой команды получился в разы лучше, чем все что было на рынке.

Так, Rork в день запуска вышел в глобальный топ App Store в Developer Tools, обогнав Replit, Github, других конкурентов, а в каких-то странах даже TestFlight. От чего все конкуренты в Твиттере жестко испугались и резко активизировались

Вывод тут классический. Good distribution + great product >> great distribution + bad/mediocre product

Хотя, конечно, это и не end game – посмотрим, чем закончится!

Как мы запустились?

Так как веб версия Rork.com уже почти обогнал Bolt в мобильных приложениях, нам достаточно было добавить ссылку на App Store на сайт чтобы выйти в #2 App Store in Dev Tools и топ 1-10 в мире

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

По традиции запускаемся на Product Hunt, поддержите пожалуйста апвоутом и комментом

P.S. Спасибо Серафиму что закрафтил нам UI и анимации в приложении!!!
ML Training HSE TS.pdf
6.2 MB
В комментах к последним постам про логарифмирование таргета (а в комментах был материал про другие модификации и их свойства) задавались вопросы по прогнозированию временных рядов.

Ок, лучшее, что я могу посоветовать - презентация с наших совместных с ВШЭ ML-тренировок by Дмитрий Симаков, Kaggle competitions master, тимлид Sber AI Lab

Прежде чем покупать и листать большие книги -- а по рядам их написано много -- макроэкномисты и биржевые спекулянты продолжают искать философский камень -- я бы начал с этой презентации -- максимум практики и опыта в одном месте.
LLM на стероидах: Что такое ReAct и почему он опускает обычный RAG?

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

Например, мог:
🟣 Узнать погоду
🟡 Проверить статус заказа по API
🔵 Узнать текущий курс битка, чтобы фиксануть прибыль 📉
🟢 Ну или сделать деп, потом додеп и супер мега ласт додеп 😩

Обычная LLMка либо рассуждает и отвечает на основе текста, либо вызывает какой-то один инструмент, например, RAG. Она не может делать и то, и другое одновременно.

И вот тут на сцену врывается с двух ног ReAct-архитектура (Reason + Act). Такой агент - настоящий гигачад, потому что он умеет чередовать рассуждения с действиями (вызовами функций, или Tools) для взаимодействия с миром.

Агент анализирует запрос пользователя и сам решает, что делать дальше:
🟣 задать уточняющий вопрос
🟡 полезть в базу знаний
🔵 дёрнуть внешний API
🟢 сделать додеп 📈
🟡 или сразу выдать окончательный ответ

Структура ReAct Agent
1️⃣ LLM — это ядро и мозг агента. Анализирует запрос, выбирает следующий шаг и генерирует ответ.
2️⃣ Thinking — «мышление» агента. На этом этапе он решает: использовать какой-то инструмент (пойти в RAG, вызвать API) или продолжить диалог с пользователем.
3️⃣ Tools — список доступных агенту инструментов. Это может быть что угодно: векторная база, внешний API, калькулятор, SQL-база — всё, что нужно для работы.

Как это работает на практике? 🐵

Допустим, мы спрашиваем: «Хочу сделать додеп на 100 баксов в слоты, есть какие-нибудь бонусы?» 💀

🟣Агент думает (Reason): «Окей, чел хочет закинуть сотку. Надо проверить его текущий баланс и глянуть, есть ли для него жирные бонусы на деп».
🟡Агент действует (Act): Дёргает внутренний API, чтобы проверить баланс юзера. Баланс: $15.
🔵Агент снова действует (Act): Летит в API казино и проверяет доступные акции. Нашёл: 'Бонус +50% на депозит от $100'.
🟢Агент думает и отвечает (Reason & Act): Собирает всё вместе и выдаёт ответ: «Твой баланс $15. Сейчас есть акция: закидывай от сотки и получишь +50% сверху. Делаем додеп?»
После согласия пользователя агент может инициировать транзакцию через API платёжного шлюза.

Итог:
ReAct Agent превращает LLMку из обычного генератора текста в полноценного ассистента, который умеет взаимодействовать с внешним миром и реально решать задачи, а не просто болтать. Короче, это база! 🌟
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from ML Baldini • Nikita Boyandin (Nikita Boyandin)
Топ лучших LLM для кода и как их оценивают😁

Какие бенчмарки используют для проверки и что они все таки проверяют
Если простым языком, то бенчмарк - экзамен для LLM в разных областях. Существует много разных видов, которые оценивают способность модели к мышлению(GPQA-bench) или к математики, но все-таки для нас более важна оценка в программировании и как ее получили:
1️⃣ HumanEval — набор ~160 ручных Python-задач, где оценивают функциональную корректность (генерируемая функция должна проходить тесты),метрика pass@k.
2️⃣ APPS — большой набор (~10k задач) разной сложности, включая алгоритмические и конкурсы; проверка — прогон тестов на корректность. Нужен для оценки способности решать «серьёзные» задачи.
3️⃣ CodeXGLUE / Code-benchmarks — набор задач разного типа (completion, summarization, clone detection), чтобы оценивать разные сценарии кода, не только решение задачи.
4️⃣ SWE-bench — модель не просто генерирует функцию, а получает репозиторий + описание и должна подготовить патч, который исправит проблему и пройдёт тесты в изолированном окружении(агентский бенчмарк).

В чем проблема этих бенчмарков
1️⃣ Бенчмарки проверяют отдельные функции, но на моем опыте основная проблема в интеграциях и правильной архитектуре
2️⃣ Некоторые компании сами натаскивают LLM, чтобы на лидерборде она была выше
3️⃣ Зачастую нам не говорят, на какой температуре проверялась LLM, включен ли был reasoning и так далее, хотя это напрямую влияет на качество ответа
4️⃣ Автоматические метрики (BLEU, CodeBLEU и др.) дают число, но оно не всегда отражает читаемость, безопасность, оптимальность или пригодность решения в проекте.

Сам топ
1️⃣ Anthropic — Claude (Opus 4 / Opus 4.1) — очень сильна в «реальном» кодинге, хороша для больших, долгих сессий и отладочных диалогов; лидирует в ряде современных SWE-bench и задач на инженерию ПО.
2️⃣ OpenAI — GPT-5 — топ по общей мощности и часто отлично показывает себя в автоматических бенчмарках по коду; сильна в генерации, пояснениях и отладке. Но уже сейчас отмечают разницу ожиданий и поведения.
3️⃣ Google — Gemini (2.x / 2.5 Pro и выше) —хорош в больших контекстах и full-stack задачах; сильна при комбинировании поиска и кода.
4️⃣ xAI — Grok (серии 3/4) - для меня все еще лучший бесплатный игрок, может спокойно написать 200-300 строк кода, но при этом сильно проигрывает своим платным конкурентам.

Интересные сайты, которые я нашел при подготовке поста
Базовая база
Оценка именно кодовых ответов LLM
Очень красивые графики по разным бенчмаркам + доп информация по стоимости, контекстному окну и выдаче токенов

Как вам такой пост?) Обязательно ставьте реакции и пишите комментарии💗
Please open Telegram to view this post
VIEW IN TELEGRAM
Нашли книжку, которая идеально подойдет для подготовки к собеседованиям или предстоящих экзаменов или контрольных, ведь сентябрь уже не за горами.

Так что же внутри?

Разобранные проблемы из самых разных областей ИИ. Не просто сухие ответы, а глубокие объяснения;
Фокус на ключевые темы: от основ ML до сложных архитектур;
Задачи, которые точно встретятся на собесах.

Эту книгу часто советуют для прокачки навыков — поэтому и мы рекомендуем.
Please open Telegram to view this post
VIEW IN TELEGRAM
`__typing_subst__` – магический метод в Python, про который вы не слышали

В питоне сложилась довольно сложная ситуация с типизацией. В отличии от многих других языков, у нас нет специального "мини-языка типов". Что сильно упрощает работу с типизацией для авторов языка. Ведь им не нужно поддерживать поведение объектов типизации в рантайме.

А у нас есть только старый добрый питон и его объекты. Да, в питоне – действительно всё объект. Даже типизация. Оттого, любой код, который вы пишите в аннотациях – должен корректно работать в рантайме. Ведь у нас есть потребители такого, например: pydantic.

Скажем, у нас есть TypeAliasType объект с одной типовой переменной. Мы хотим её явно указать:


type StrDict[_V] = dict[str, _V]

numbers: StrDict[int] = {'one': 1}


Тут все довольно просто в рантайме: StrDict[int] вызовет __getitem__ вот тут. Кстати, там Cшный код, конечно же. И нам просто вернется нужный GenericAlias объект с нужными __args__:


>>> type StrDict[_V] = dict[str, _V]
>>> StrDict[int], type(StrDict[int]), StrDict[int].__args__
(StrDict[int], <class 'types.GenericAlias'>, (<class 'int'>,))


Мы видим, что замена _V на int работает! Пока что 🌚

А как физически происходит замена переменной?

Начнем с того, что в Python есть 3 TypeVar-like объекта: TypeVar, TypeVarTuple, ParamSpec. У каждого из них есть свои правила, как можно их заменять (в некоторых контекстах):
- TypeVar можно заменять на одно другое типовое значение
- TypeVarTuple можно заменять на любое количество типовых значений
- ParamSpec можно заменять на Concatenate, ... и список типов

Пример ошибки замены, исходник:


>>> from collections.abc import Callable
>>> from typing import ParamSpec, TypeVar
>>> P = ParamSpec('P')
>>> R = TypeVar('R')

>>> Callable[P, R][0, int]
Traceback (most recent call last):
TypeError: Expected a list of types, an ellipsis, ParamSpec, or Concatenate. Got <class 'int'>


Пытаемся заменить P на 0, что не является корректной заменой.
Но как фактически проверить, что замена корректная? И вот тут входит в дело __typing_subst__.

Он определен у всех типов TypeVar-like. Мы посмотрим на ParamSpec. Все, конечно же, написано на дикой смеси C и Python. И Cшная реализация ParamSpec.__typing_subst__ вызывает typing._paramspec_subst. Почему так? В 3.12 все переписали на C в спешке. Но некоторые части были слишком сложны, их оставили на питоне.

Аналогично:


>>> P.__typing_subst__([])
()
>>> P.__typing_subst__([int, str])
(<class 'int'>, <class 'str'>)
>>> P.__typing_subst__(...)
Ellipsis
>>> P.__typing_subst__(0)
Traceback (most recent call last):
TypeError: Expected a list of types, an ellipsis, ParamSpec, or Concatenate. Got 0


Подготовка к замене

Но, все еще чуть-чуть сложнее. Потому что перед тем как что-то заменить, нам нужно подготовиться к замене.
Есть второй магический метод, исходники: __typing_prepare_subst__. Он нужен, чтобы собрать аргументы для замены. Потому что у нас, например, могут быть неявные аргументы с default. Проверим на TypeVarTuple:


>>> class Custom[T1, *Ts=(int, int)]: ...
...
>>> Custom[str]
__main__.Custom[str, [int, int]]
>>> Custom[str, str]
__main__.Custom[str, str]


Ну или напрямую:


>>> Custom.__type_params__[1].__typing_prepare_subst__(*Custom.__type_params__[1], ())
([(<class 'int'>, <class 'int'>)],)

>>> Custom.__type_params__[1].__typing_prepare_subst__(*Custom.__type_params__[1], (str,))
((<class 'str'>,),)


Здесь в первом случае [int, int] нам как раз добавили в __args__ через __typing_prepare_subst__ вот тут.

Вот такая машинерия выполняется каждый раз, когда нам нужен Generic с параметрами. Потому с 3.14 все аннотации будут ленивыми по-умолчанию. А __annotate__ будет выполняться только тогда, когда аннотации будут запрашивать реально для рантайма.

Обсуждение: задумывались ли вы о работе аннотаций типов в рантайме? Сталкивались ли с проблемами в данной сфере? Тормозило?

| Поддержать | YouTube | GitHub | Чат |
Forwarded from Душный NLP
Проблемы LLM-as-a-Judge и их решение

Сегодня разберём статью о проблеме оценки открытых ответов (например, рассказов) моделью так же, как это делают асессоры. Мотивация тут проста: использование LLM дешевле, быстрее и позволяет значительно увеличить корзинку, на которой проводится сравнение. При этом полностью выступать заменой разметчиками модель, конечно, пока не может.

Авторы рассматривают три типа LLM-as-a-Judge:

— Попарное сравнение. Модели предоставляют два ответа и предлагают выбрать из них лучший. Такой вариант дорогой, но даёт хорошую согласованность.
— Оценка одного ответа. Модель ставит оценку по какой-то шкале всего одному ответу.
— Оценка по референсу. Модель получает эталонный ответ и, отталкиваясь от него, оценивает.

Однако у использования LLM есть свои минусы. Первый, существующий и у разметчиков, — position bias, который возникает при попарном сравнении. Большинство моделей, получая два ответа, предпочитают выбирать первый. Что интересно, если попросить LLM не просто сравнить два ответа, а дать оценку каждому, то position bias проявляется чаще.

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

Ещё один способ — использование few-shot. Модель получает два ответа с прямым указанием, какой из них лучше. Всего таких «прогонов» три: в одном случае лучше первый ответ, в другом — второй, а в третьем — ничья. Только после этого LLM предлагают уже самостоятельно оценить два решения. Такой способ помог повысить согласованность с 65% до 77,5%. Авторы отмечают, что это дорогой метод, причём нельзя быть уверенным, что в результате его использования не возникли новые проблемы.

Также LLM плохо справляются с оцениваем решения математических задач и задач с рассуждением. Чтобы обойти эту проблему пытались использовать CoT, но он не дал хороших результатов. Зато число ошибок уменьшило руководство по референсу: авторы просили судью решить задачу, затем использовать собственный ответ как эталонный для последующей оценки.

Кроме того, у LLM-as-a-Judge есть ещё две проблемы: verbosity bias (LLM выше оценивает более длинные ответы; такое, к слову, бывает и у разметчиков) и self-enhancement bias (модели-судьи лучше оценивают собственные ответы). Для этих проблем у авторов нет решения.

Разбор подготовила Анастасия Кириллова

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM