По релизу GPT4.5 от OpenAI можно заметить, что новая модель стала намного лучше в задаче разводить людей на деньги (и практически больше ни в чем). Это говорит о взрослении индустрии и переходе OpenAI к действительно прибыльным способам применения ИИ 👀
Please open Telegram to view this post
VIEW IN TELEGRAM
Al Talent Hub
🚨 Перенос Open Talks с Борисом Цейтлиным Друзья, митап откладывается по состоянию здоровья гостя. Бережём Бориса и желаем ему скорейшего восстановления 🙏 Новая дата: 28 февраля 19:00 мск Все ваши вопросы, отправленные через форму регистрации мы обязательно…
Напоминаю, что Open Talks с неким Борисом в AI Talent Hub уже сегодня в 19:00 по Москве!
Будет про карьеру MLE отнаучной роты МЧС до eBay, а так же про ML и книгу. Возможно обсуждение моделей мира и прочие спекуляции.
Будет про карьеру MLE от
❤17👍13 3🤔2
Два новых релиза от Yandex Cloud которые могут быть интересны MLE.
Первый про инференс. В Foundation Models (сервис Yandex Cloud, объединяющий инструменты для GenAI моделей) добавили выделенные эндпоинты для инференса LLM моделей по запросу. Причем доступна не только ожидаемая YandexGPT, но и опенсорс (Qwen, Mixtral, DeepSeek, LLaMa).
Главная продающая идея здесь - это возможность делегировать облаку вопросы инфраструктуры и получить инференс и мониторинг из коробки.
Вторая - это LoRA адаптеры для YandexGPT Lite и LLaMa. LoRA - это метод тонкой настройки небольшой части параметров языковой модели для создания ее специализированной версии под свою задачу.. Обещают, что для небольших датасетов весь процесс дообучения с помощью LoRA может занять всего 10 минут.
Уже есть кейс, когда компания сделала разметку с помощью YandexGPT Pro версии, затем обучила YandexGPT Lite на этих ответах и получила практические такое же качество, но с гораздо большей скоростью и меньшей стоимостью.
Первый про инференс. В Foundation Models (сервис Yandex Cloud, объединяющий инструменты для GenAI моделей) добавили выделенные эндпоинты для инференса LLM моделей по запросу. Причем доступна не только ожидаемая YandexGPT, но и опенсорс (Qwen, Mixtral, DeepSeek, LLaMa).
Главная продающая идея здесь - это возможность делегировать облаку вопросы инфраструктуры и получить инференс и мониторинг из коробки.
Вторая - это LoRA адаптеры для YandexGPT Lite и LLaMa. LoRA - это метод тонкой настройки небольшой части параметров языковой модели для создания ее специализированной версии под свою задачу.. Обещают, что для небольших датасетов весь процесс дообучения с помощью LoRA может занять всего 10 минут.
Уже есть кейс, когда компания сделала разметку с помощью YandexGPT Pro версии, затем обучила YandexGPT Lite на этих ответах и получила практические такое же качество, но с гораздо большей скоростью и меньшей стоимостью.
👍28👎6❤5
Forwarded from Время Валеры
Книга, наконец-то, стала доступна на Амазоне
Amazon
Machine Learning System Design: With End-To-End Examples
Buy Machine Learning System Design: With End-To-End Examples 1 by Babushkin, Valerii, Kravchenko, Arseny (ISBN: 9781633438750) from Amazon's Book Store. Everyday low prices and free delivery on eligible orders.
👍26🔥6❤2
# Vibecoding vs pycocotools
Есть такая Python библиотека, pycocotools. По сути код, чтобы читать датасеты в формате COCO и считать метрики по детекции и сегментации.
Для меня это эталон плохого кода. Библиотека как будто специально сделана неудобной, неинтуитивной и переусложненной. Несмотря на то, что она делает очень простые вещи. Однако это можно понять: релиз был 11 лет назад.
Тем не менее периодически я с ней сталкиваюсь так как когда хочется посчитать какие-то типичные метрики для детекции возникает искушение взять готовую библиотеку, да и COCO формат всё ещё встречается. И каждый раз я страдаю, а потом думаю написать свой pycocotools здорового человека. Но мне лень.
Сегодня меня посетила мысль: может отдать эту задачу LLM? Перекладывать JSON из одного формата в другой, переписать старую библиотеку в удобный вид, четкая задача и надо поменять всего пару файлов: именно такую работу я бы хотел скидывать на AI.
Нельзя сказать, что получилось плохо. Но можно сказать, что не получилось вообще. Сейчас расскажу подробнее.
Есть такая Python библиотека, pycocotools. По сути код, чтобы читать датасеты в формате COCO и считать метрики по детекции и сегментации.
Для меня это эталон плохого кода. Библиотека как будто специально сделана неудобной, неинтуитивной и переусложненной. Несмотря на то, что она делает очень простые вещи. Однако это можно понять: релиз был 11 лет назад.
Тем не менее периодически я с ней сталкиваюсь так как когда хочется посчитать какие-то типичные метрики для детекции возникает искушение взять готовую библиотеку, да и COCO формат всё ещё встречается. И каждый раз я страдаю, а потом думаю написать свой pycocotools здорового человека. Но мне лень.
Сегодня меня посетила мысль: может отдать эту задачу LLM? Перекладывать JSON из одного формата в другой, переписать старую библиотеку в удобный вид, четкая задача и надо поменять всего пару файлов: именно такую работу я бы хотел скидывать на AI.
Нельзя сказать, что получилось плохо. Но можно сказать, что не получилось вообще. Сейчас расскажу подробнее.
🤔40👍13🔥5 3❤1
Claude Code действительно просто и клево использовать. Установил, залогинился и поехали. Пользовательский опыт самого инструмента супер как по мне.
Я решил поступить как умный вайбкодер и не стал просто просить LLM сделать лучше. Я создлал новый проект, положил туда репозиторий pycocotools отдельной папкой и описал свои желания в CLAUDE.MD файл. Включил туда чем мы тут занимаемся и каким ключевым принципам должна удовлетворять новая библиотека.
Далее я попросил агента сделать файл с регрессионными тестами где сравнивается вывод старой библиотеки и новой. Причем для новой надо было лишь придумать интерфейс, но не реализовывать. Сначала напишем тесты, определимся с тем, какие классы, функции и методы хотим получить. Затем останется лишь попросить агента реализовать пока тесты не будут проходить. План надёжный как швейцарские часы.
Я решил поступить как умный вайбкодер и не стал просто просить LLM сделать лучше. Я создлал новый проект, положил туда репозиторий pycocotools отдельной папкой и описал свои желания в CLAUDE.MD файл. Включил туда чем мы тут занимаемся и каким ключевым принципам должна удовлетворять новая библиотека.
Далее я попросил агента сделать файл с регрессионными тестами где сравнивается вывод старой библиотеки и новой. Причем для новой надо было лишь придумать интерфейс, но не реализовывать. Сначала напишем тесты, определимся с тем, какие классы, функции и методы хотим получить. Затем останется лишь попросить агента реализовать пока тесты не будут проходить. План надёжный как швейцарские часы.
🔥36
Началось неплохо. Очень быстро набрасывает большой объем кода. Буквально за десять минут был готов скелет библиотеки и тесты.
Однако чем дальше, тем больше было ощущение парного программирования с чрезмерно усердным интерном с шизой.
Однако чем дальше, тем больше было ощущение парного программирования с чрезмерно усердным интерном с шизой.
Самая банальная проблема в том, что оно не слушается. Это можно увидеть по моему CLAUDE.MD файлу где я сто раз повторяю не писать комментарии. В какой-то момент модель забывает об этом и о прямых напоминаниях в промпте и всё равно пишет вот такие жизненно необходимые коментарии, одновременно делая код хуже, тратя мои деньги и нагревая планету почем зря.
Но дело не только в комментариях. В целом добиться от модели того, что ты хочешь, достаточно нетривиально. Пока нет уверенности, что тебя правильно поняли и что это понимание не изменится когда контекст чуть сдвинется.
Например, несмотря на указния редактировать только тесты, модель всё равно с шансом 50/50 сразу лезла делать какую-то реализацию.
Но дело не только в комментариях. В целом добиться от модели того, что ты хочешь, достаточно нетривиально. Пока нет уверенности, что тебя правильно поняли и что это понимание не изменится когда контекст чуть сдвинется.
Например, несмотря на указния редактировать только тесты, модель всё равно с шансом 50/50 сразу лезла делать какую-то реализацию.
Следующая проблема это просто плохой код. Непредсказуемо плохой.
Причем Claude Sonnet 3.7 определенно умеет писать хороший код. Но только если ты явно ему скажешь, что это значит.
Получается, что в этом вайб-кодинге модели нехватает понимания вайба. Если бы я работал с джуном, то мне бы не приходилось объяснять ему, что если я хочу питон классы вместо диктов, то положить дикт внутрь класса и сделать проперти для доступа к ключам дикта это минус вайб. Просто не вписывается в вайбы проекта.
У меня так и не получилось донести до модели нужный вайб. Я старался по мере подобных ситуаций добавлять пояснения в CLAUDE.MD и заставлять агента перечитывать этот файл почаще, но это не помогало. Результат слишком непредсказуемый. В одном месте оно пишет код, который попадает в мою идею хорошего, а потом в другом месте вот эти импорты внутри функций, геттеры/сеттеры, переусложнение.
Причем Claude Sonnet 3.7 определенно умеет писать хороший код. Но только если ты явно ему скажешь, что это значит.
Получается, что в этом вайб-кодинге модели нехватает понимания вайба. Если бы я работал с джуном, то мне бы не приходилось объяснять ему, что если я хочу питон классы вместо диктов, то положить дикт внутрь класса и сделать проперти для доступа к ключам дикта это минус вайб. Просто не вписывается в вайбы проекта.
У меня так и не получилось донести до модели нужный вайб. Я старался по мере подобных ситуаций добавлять пояснения в CLAUDE.MD и заставлять агента перечитывать этот файл почаще, но это не помогало. Результат слишком непредсказуемый. В одном месте оно пишет код, который попадает в мою идею хорошего, а потом в другом месте вот эти импорты внутри функций, геттеры/сеттеры, переусложнение.
Ещё одна проблема: излишняя инициатива. Модель реализовала и покрыла тестами несколько больших штук, о которых я её не просил и не собирался. Например целый command line интерфейс, утилитарные методы для копирования всех сущностей, методы для расчета пересечений между ббоксами и масками. Или метод
Получается, что с одной стороны модель не делала того, что я хотел, а с другой делала то, что не надо, а потом сама же по моим указаниям это выпиливала.
.count()
для каждой коллекции, например для изображений и аннотаций. Который вообще непонятно зачем нужен, если есть нативный len()
.Получается, что с одной стороны модель не делала того, что я хотел, а с другой делала то, что не надо, а потом сама же по моим указаниям это выпиливала.
Наконец, шиза.
Ощущение будто ты сидишь в чате с программистом, но в случайные моменты времени на его место подключается новый человек и видит код впервые. Потому что по факту так и происходит.
Ладно ещё, что куски кода в разных местах получаются в абсолютно разном стиле. Реальные проблемы начинаются когда агент теряет нить того, а что мы вообще тут делаем.
Например, переписывая по моему требованию подсчет метрик на более хороший, агент начал поддерживать обратную совместимость с функциями, которые сам только что написал.
Но вишенка на торте это когда агент начал запускать свои тесты и понял, что регрессионные тесты не проходят. Поэтому он решил их просто стереть и заменить на сообщения "API изменился"!🧠 🧠 🧠
Ощущение будто ты сидишь в чате с программистом, но в случайные моменты времени на его место подключается новый человек и видит код впервые. Потому что по факту так и происходит.
Ладно ещё, что куски кода в разных местах получаются в абсолютно разном стиле. Реальные проблемы начинаются когда агент теряет нить того, а что мы вообще тут делаем.
Например, переписывая по моему требованию подсчет метрик на более хороший, агент начал поддерживать обратную совместимость с функциями, которые сам только что написал.
Но вишенка на торте это когда агент начал запускать свои тесты и понял, что регрессионные тесты не проходят. Поэтому он решил их просто стереть и заменить на сообщения "API изменился"!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
В общем, в какой-то момент я сдался. Финальное состояние вы можете видеть в репозитории:
https://github.com/btseytlin/sane-coco/tree/main
Получился какой-то неконсистентный код, с которым непонятно, что делать. Вроде бы что-то есть, но улучшения относительно pycocotools не чувствуется.
Если при обычном кодинге ты начинаешь с чего-то и постепенно приближаешься к желаемому, то здесь такого ощущения прогресса не было. Один шаг вперед, два назад. Или скорее, в непонятную сторону. Не покидало ощущение, что проще стереть и начать с нуля.
Возможно было бы лучше, если бы я сам сначала продумал интерфейсы, написал тесты, а затем дал бы агенту в один проход всё реализовать и отдебажить. Так же явно можно применять какие-то трюки. Например, помогло в какой-то момент спросить его самому придумать 10 дизайн принципов которым должна удовлетворять библиотека (получилось хорошо), а затем изменить код, чтобы она им соответствовала. Но я, если честно, не хочу этим заниматься. Какие-то костыли и танцы с бубном. На текущем этапе проще написать самому.
Этот бенчмарк оно не проходит, но в целом прикольный опыт. В редкие моменты когда оно будто правильно понимает твой вайб действительно ощущается как магия. Ещё попробую в более узком случае когда есть готовый проект и надо добавить понятную фичу.
Программисты - НЕ ВСЁ, код ассистенты пока что не могут сделать библиотеку из трех Python файлов.
https://github.com/btseytlin/sane-coco/tree/main
Получился какой-то неконсистентный код, с которым непонятно, что делать. Вроде бы что-то есть, но улучшения относительно pycocotools не чувствуется.
Если при обычном кодинге ты начинаешь с чего-то и постепенно приближаешься к желаемому, то здесь такого ощущения прогресса не было. Один шаг вперед, два назад. Или скорее, в непонятную сторону. Не покидало ощущение, что проще стереть и начать с нуля.
Возможно было бы лучше, если бы я сам сначала продумал интерфейсы, написал тесты, а затем дал бы агенту в один проход всё реализовать и отдебажить. Так же явно можно применять какие-то трюки. Например, помогло в какой-то момент спросить его самому придумать 10 дизайн принципов которым должна удовлетворять библиотека (получилось хорошо), а затем изменить код, чтобы она им соответствовала. Но я, если честно, не хочу этим заниматься. Какие-то костыли и танцы с бубном. На текущем этапе проще написать самому.
Этот бенчмарк оно не проходит, но в целом прикольный опыт. В редкие моменты когда оно будто правильно понимает твой вайб действительно ощущается как магия. Ещё попробую в более узком случае когда есть готовый проект и надо добавить понятную фичу.
GitHub
GitHub - btseytlin/sane-coco: A (failed) claude code attempt to rewrite pycocotools
A (failed) claude code attempt to rewrite pycocotools - btseytlin/sane-coco
❤54👍25🔥8 5
Что если AI не смог захватить мир только потому, что мы достаточно засорили интернет своими щитпостами? 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Нескучный Data Science (Евгений Смирнов)
💸 Сколько ты зарабатываешь на Data Science?
👉 Пройди опрос сейчас, не откладывай на потом❗️
🤔 Вы можете примерно оценить вилку на вашей позиции благодаря вакансиям из каналов, где они публикуются. Тем не менее вилки довольно широкие и одни работодатели недоплачивают или платят строго по низу вилки, другие наоборот переплачивают и выходят за ее пределы. Вам в свою очередь нужно на собеседовании или при повышении назвать одно число, ровно столько вам будет платить довольно продолжительный период времени.
📊 Запускаю опрос, который в будущем поможет подписчикам сопоставить свой набор навыков с рынком труда. Прошу вас ответить на вопросы про ваш опыт, текущую роль в компании, ваш уровень удовлетворенности и планы на будущее. Чем прозрачнее будет рынок труда, тем выгоднее будет обоим сторонам, ведь дата сайентисты не будут смотреть в лес рынка труда.
🔖 Результаты опроса буду порционно публиковать в канале Нескучный Data Science @not_boring_ds.
😉 классические вопросы с популярных интервью тоже включены)
P.S. при публикации статистики дам ссылки на каналы поддержавшие опрос.
👉 Пройди опрос сейчас, не откладывай на потом❗️
🤔 Вы можете примерно оценить вилку на вашей позиции благодаря вакансиям из каналов, где они публикуются. Тем не менее вилки довольно широкие и одни работодатели недоплачивают или платят строго по низу вилки, другие наоборот переплачивают и выходят за ее пределы. Вам в свою очередь нужно на собеседовании или при повышении назвать одно число, ровно столько вам будет платить довольно продолжительный период времени.
📊 Запускаю опрос, который в будущем поможет подписчикам сопоставить свой набор навыков с рынком труда. Прошу вас ответить на вопросы про ваш опыт, текущую роль в компании, ваш уровень удовлетворенности и планы на будущее. Чем прозрачнее будет рынок труда, тем выгоднее будет обоим сторонам, ведь дата сайентисты не будут смотреть в лес рынка труда.
🔖 Результаты опроса буду порционно публиковать в канале Нескучный Data Science @not_boring_ds.
😉 классические вопросы с популярных интервью тоже включены)
P.S. при публикации статистики дам ссылки на каналы поддержавшие опрос.
https://mistral.ai/news/mistral-ocr
Выглядит супер (по их черри-пик примерам) качество на русском на 5% выше (по их непонятным бенчмаркам), чем у Google OCR API.
Когда появится в доступе закину ему рукописное свидетельство о рождении из РИ, посмотрим
Выглядит супер (по их черри-пик примерам) качество на русском на 5% выше (по их непонятным бенчмаркам), чем у Google OCR API.
Когда появится в доступе закину ему рукописное свидетельство о рождении из РИ, посмотрим
mistral.ai
Mistral OCR | Mistral AI
Introducing the world’s best document understanding API.
🔥34 6❤5👍1