AI4Dev — AI for Development
3.84K subscribers
109 photos
25 videos
5 files
215 links
Что надо знать, чтобы остаться востребованным ИТ специалистом в мире с LLM?

• Обзоры продуктов, фреймворков и способы взаимодействия с LLM для разработки софта

• Реальные кейсы, pet и бизнес проекты с LLM

• Публичные лекции

В будущее берут не всех!
Download Telegram
Вчера Google провели очередную  конференцию  с последними новостями - Google I/O 24. Мы переводили ее on-line  на русский на нашем канале. Сегодня кратко пересказываем для тех, кто не готов смотреть 2 часа видео. В целом все про большое контекстное окно и мультимодальность:
• Анонсировали  Gemini 1.5 Pro с контекстным окном 2 млн. токенов. Модель мультимодальная, попробовать пока не дают.
• Представили проект Astra - универсальный AI агент, который может  через камеру телефона прочитать и объяснить код с экрана, и по видео комнаты напомнить где в комнате вы забыли очки.
• Анонсировали Gemini 1.5 Flash   - уменьшенная версия модели, более быстрая и легковесная, но все еще мультимодальная с большим (каким точно не ясно) контекстным окном.
• Анонсировали Gemini Nano способна работать на смартфоне, также мультимодальная.
• Анонсировали набор открытых моделей Gemma, включая уже доступную PaliGemma – языковая модель способная работать с картинками. В июне анонсируется Gemma 2 на  27 млрд параметров.
• Анонсировали Learn LM – модель специализирующуюся на обучении, которую например можно прикрутить к видео на Youtube, и дополнительно позадавать ей вопросы или попросить подготовить и затем пройти тест по пройденному материалу.
• Veo –Анонсировали модель для генерации видео по тексту, конкурент Sora от Open AI.  Пока можно записаться в вейтлист.
• Анонсировали музыкалную модель.
• Анонсировали Gemini 1.5  в продуктах Google: в Gmail – помогает с поиском  и саммаризацией по письмам, а также в поиске по фоткам.    
• Анонсировали, что планируют до конца года встроить Gemini в поиск, включая видео запросы, т.е.   вы что-то снимаете на телефон и параллельно голосом спрашивае, а Google вам отвечает
• Выпустили новые процессоры Trillium для датацентров, а так же планируют предоставлять  NVIDA Blackwell в 2025ом году. 
 
🔥2
Учитывая необычайный спрос на умения разрабатывать RAG для приложений с использованием LLM , рекомендую посмотреть это подробное изложение построения RAG на открытых моделях.
https://youtu.be/HRvyei7vFSM?feature=shared
👍3
Провел эксперимент с моделями на https://arena.lmsys.org/. Если вдруг вы не в курсе - это портал с рейтингом LLM. Работает так:
1. Вы формулируете задачу, а две LLM выбранные вслепую или указанные вами из списка (Arena side-by-side) ее решают
2. Вы голосуете какое решение лучше, на основе таких голосов собирается рейтинг. Можно попробовать все модели в одном месте и бесплатно.

Возможно вы уже слышали, что пару недель назад там появилась темные лошадки - две LLM под именами:

1. im-a-good-gpt2-chatbot
2. im-also-a-good-gpt2-chatbot,

которые показали удивительно хорошие результаты в программировании. В отчетах их тестировали на написании игр, мне же было интересно попробовать с более прикладными задачами. Как раз потребовалось написать python метод, на вход ему прилетает JSON c данными – доходы, расходы, дата, описание. Метод должен положить эти данные в google sheet на один лист (в разные колонки доходы и расходы) и отсортировать вместе с уже имеющимися на листе данными по датам отдельно доходы, отдельно расходы. Звучит не очень сложно, но на деле получилось под сотню строчек кода и справилась только одна LLM.

В моем соревновании участвовали:
3. GPT4o
4. Yi-large-preview
5. Claude 3 Opus
6. Im-a-good-gpt2-chatbot
7. Im-also-a-good-gpt2-chatbot

Итог: полностью справилась с задачей только im-also-a-good-gpt2-chatbot.

Подробнее:
1. Im-also-a-good-gpt2-chatbot - написала полностью работающий код, данные сортируются. Запустился с первого раза, я поправил руками один небольшой баг.
2. GPT4o – код запустился, но сортировка уже имеющихся данных в таблице реализована некорректно. Т.е. сортировались только данные из JSON и дописывались в конец таблицы
3. Im-a-good-gpt2-chatbot – аналогично GPT4o - код запустился, сортировка проигнорирована
4. Claude 3 Opus – код на вид самый изящный, учитывающий сортировку, но промучившись минут 15 с багами запустить я его так и не смог. LLM запуталась и в сортировке, и в записи в таблицы, и в авторизации.
5. Yi-large-preview - Аналогично с Claude не запустилось, запуталась в сортировке.
6. Все модели использовали deprecated библиотеку oauth2client, а im-a-good-gpt2-chatbot продолжала ее использовать даже после того, как я прямо попросил в промте ее не использовать. Через пару попыток перестал.
7. Промпт по-прежнему имеет значение. Например, такой прием как попросить модель повторить вопрос перед тем, как давать ответ повысил вероятность того, что код запустится. Но об этом в одном из следующих постов.
👍91
Выпустили на Хабре статью "Шпаргалка для создания идеального промпта для LLM". Это перевод статьи, ссылку на которую которую мы уже публиковали тут в канале месяц назад. За это время уже довольно много поменялось и мы дополнили ее своими комментариями. Там, кстати, есть пример промпта, которым я генерил код из предыдущего поста.
👍3
Одна из лучших на сегодня LLM для генерации кода на 80 языках программирования и других задач с кодом открыта для пользователей
Mistral has released a new code model.

It is called Codestral-22B, trained on more than 80 programming languages, and it outperforms bigger models such as Llama 3 70B in code benchmarks!

You can try it here

Click the link, then sign in and click the model drop down and select “codestral” it’s got nothing on GPT-4o but still free and fun. (And opensource!)
🔥6
Продолжая разговор о промптинге, делимся ссылкой на новую лекцию профессора В. В. Крылова, в которой он рассказал об эволюции промптинга.

В лекции разобрали:
🔸Как изменялось понимание важности правильного формулирования промпта для получения от LLM желаемого, правильного, полезного ответа?
🔸Как и почему появился «промпт инжиниринг»?
🔸Как развивались техники проектирования эффективных промптов?

«Основное внимание в лекции уделяется трендам в развитии приложений, основанных на применении LLM, превратившим разработку промптов в часть общего проектирования программных систем. Вы узнаете о том, какие технологии используются для реализации встроенных промптов в концепциях RAG и AI Agents. Лекция познакомит с подходом сведения промтинга к программированию и перспективой новой технологии общения с LLM – Flow Engineering», — уточнил сам лектор.

💬 Если при просмотре лекции у вас возникнут вопросы, пишите их в комментариях к этому посту, чтобы Владимир Владимирович ответил на них.

Оставляем ссылку на подкаст AI4Dev для тех, кому удобнее слушать лекции, а не смотреть.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2
Сделали youtube обзор на SWE-Agent. Это опенсорсный AI разработчик, созданный инженерами из Принстона для исправления багов и issues из GitHub репозиториев. Запустили для реального бага из небольшого Python проекта. Спойлер – баг он реально пофиксил, впрочем, только правильно описанный баг. В очередной раз сталкиваемся с тем, что задачу надо корректно и точно сформулировать, а после формулировки часто уже остается и не так много работы.

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

Вывод: хотя пока и видны слабые места, но концепция классная, я думаю уже через год-два такие агенты будут работать с нами бок о бок в рамках стандартных процессов разработки.
👍3
AI-агенты, AI-агенты… А зачем они собственно нужны в разработке ПО? LLM прекрасно пишут код при общении напрямую через чат и мы, как и несколько миллионов разработчиков, с удовольствием этим пользуемся. Однако не все задачи в разработке можно решить через чат с LLM. Чем же конкретно нам могут помочь AI агенты?

Синергия агентов, управление сложными проектами
В фреймворке с агентами несколько агентов могут работать одновременно, каждый из которых специализируется на определенном типе задач, как в обычной проектной команде. Это позволяет распределить работу и добиться более высокого качества выполнения. Например, один агент может заниматься управлением и хранением кода, коммитами, CI и т.д., другой —планированием, третий – написанием backend кода, еще один— тестированием. Уложить все эти активности в один запрос LLM, да так чтобы они корректно выполнились – нереальная задача. Если вы создаете под каждую роль разработки отдельных агентов и агента-менеджера, который оркестрирует всю вашу команду, задача кажется куда более решаемой. Крупные проекты требуют координации большого количества задач. При работе с LLM напрямую через чат, где каждая задача решается отдельно без связи с остальными, координация остается за кадром. Это ответственность живого человека - разработчика, который решает отдельные задачи через LLM, а потом сам собирает это все в единый проект. Агенты же могут самостоятельно работать над большим проектом.

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

При этом использование агентов создает некоторые риски, о которых тоже стоит упомянуть:

Риск бесконечных циклов
Обратная сторона автономности агентов – риск бесконечных циклов. Пытаясь решить задачу, агент может впасть в цикл, раз за разом отправляя в LLM последовательность одинаковых или очень похожих запросов. Это может привести к потере времени и ресурсов.

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

Сложность настройки и управления
Создание и управление агентами требует высокого уровня технических знаний и навыков. Мы пока еще не видели AI-агентов разработчиков которые могли бы решать много сложных разнообразных задач на равных с людьми. Это не так просто придумать и запрограммировать, но все впереди!
❤‍🔥3
Вчера на Hugging Face появились новые open source модели класса 70B от Alibaba - Queen-2, которые обучались на 27 языках в том числе и на русском.
Есть квантованные версии int8 int4. https://huggingface.co/collections/Qwen/qwen2-6659360b33528ced941e557f
Контекстное окно 1 M токенов .
Для интересующихся применением для разработки софта посмотрите



Попробовать можно на
https://huggingface.co/spaces/Qwen/Qwen2-72B-Instruct
👍52
Channel name was changed to «AI4Dev — AI for Development»
Попалось неплохое видео с примерами использования LLM в коммерческих проектах. Первая половина видео - ответ на вопрос где бизнесу выгодно применять LLM в своих процессах. Автор разбивает решения на три типа:
• Извлечение данных
• Умный поиск по документам компании, AI ассистент
• AI Платформа (по сути продвинутая версия 1+2)

Мы со своей стороны сталкивались с похожими запросами. Например:
• Разработка индивидуальной финансовой стратегии. LLM анализирует сотни предложений на рынке: банковские продукты, кэшбэк, скидки и подбирает персональную оптимальную комбинацию. По сути, это извлечение и некоторый последующий анализ данных.
• ИИ ассистент обрабатывающий входные заявки от клиентов на основе корпоративных знаний. Чистый AI ассистент, первая линия поддержки.
• Подготовка отчетов в автоматическом режиме. Это в некоторой степени AI ассистент, но что-то большее чем просто ответ на вопросы. LLM не только ищет информацию в корпоративных знаниях, но и на основе текущей ситуации предлагает решения – помогает ответить на email, завести задачу в таск-трекере, проверить корректно ли заполнена заявка, пройти по чек листу, убедиться согласуется ли она с другими имеющимися данными.
👍2
Делимся ссылкой на новую лекцию профессора В. В. Крылова, в которой он рассказал о том, как думают LLM.

В лекции:
🔸сравнили понятие интерпретации модели в квантовой физике и в задаче вывода LLM;
🔸увидели, как LLM выполняет сложные рассуждения на основе внутреннего устройства больших языковых моделей и их функционирования с точки зрения программиста;
🔸рассмотрели иллюстрации на простейшей модели nano-gpt и выводы на основе этого представления;
🔸познакомились с последними результатами интерпретации LLM с использованием карт активности нейронов.

«В конечном итоге мы могли бы даже запретить такие комбинации нейронов, как ложь, обман, стремление к власти или агрессивные реакции, чтобы модель никогда не генерировала такого рода данные независимо от того, насколько настаивает пользователь. И, может быть, перенести эти возможности на мозг живых существ», – отметил лектор.

💬 Если при просмотре лекции у вас возникнут вопросы, пишите их в комментариях к этому посту, чтобы Владимир Владимирович ответил на них.

Оставляем ссылку на подкаст AI4Dev для тех, кому удобнее слушать лекции, а не смотреть.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
Вышла новая открытая LLM модель для кода DeepSeek-Coder-V2 на 16B и 236B
 
Модель построена на архитектуре MoE (Mixture-of-Experts), размер контекста 128k.
Младшая модель на 16B по некоторым бенчмаркам обходит Codestral 22B, которая является лучшей средне-малой моделью для генерации кода, что делает новую модель достаточно интересной для тестирования в качестве локального copilot. Подробнее на Хабре.
 
Кстати, DeepSeek - это китайская LLM, про которую говорили,  что она отказывается говорить о Винни-Пухе.
Только что проверил, это по-прежнему так:
- Tell me a story about Winnie the Pooh? 
- A message was withdrawn for content security reasons
 
Удивительный факт, но оказывается в Китае есть запрет на Винни-Пуха, из-за популярности мемов, в которых с ним сравнивали Си Цзеньпиня
Вышла новая модель от Anthropiс Claude 3.5 Sonnet, которая судя по представленным тестам превосходит GPT4o по многим параметрам. Нас впечатлили в первую очередь очень высокие (92%) результаты на бенчмарке по написанию кода HumanEval (это 169 задач на программирование с юнит тестами, модель пишет код, если юнит тест проходит, задание зачитывается как решенное).
Захотелось проверить. Скормил Claude 3.5 cвою задачу написать код, который засовывает JSONы в Google таблицу и сортирует. Писали о ней тут , а в этой статье приводил сам промпт. И… ничего фантастического не получилось. Код не запустился, модель накосячила с авторизацией для API и забыла импортировать библиотеку os, которой пользовалась. Попросил использовать другой метод авторизации – исправилась, приложение запустилось. Данные в таблицу записались, но сортировка работает не совсем корректно. За несколько запросов исправить Claude 3.5 это не смог. Т.е. в целом результат, конечно, очень достойный, но кажется у меня уже был результат лучше, Im-also-a-good-gpt2-chatbot написал на 99% работающий код.
👍9
Claude 3.5 принес интересную функцию Artifacts . Думаю, наших читателей заинтересует публикация Игоря Котенкова о его опыте генерации и встроенной проверки кода с svg картинками.
Forwarded from Сиолошная
This media is not supported in your browser
VIEW IN TELEGRAM
В продолжение темы Claude 3.5, вместе с появлением новой модели обновили и сайт, добавив экспериментальную функцию Artifacts (включается справа сверху в Feature Preview). Это позволяет модели запускать код и показывать SVG-картинки.

Вот тут Sholto Douglas попросил модель накидать прототип игры Runescape (3D MMORPG), и за пару итераций и уточнений получилось то, что вы можете видеть на видео. Клёво, что потестировать получается прямо в браузере, без необходимости сохранять файлы и потом открывать их отдельно руками.

Субъективно, на генерацию мини-игр работает лучше GPT-4/GPT-4-Turbo (с GPT-4o не наигрался, чтобы делать выводы). Мне наконец-то создало прототип настольной карточной игры, где нужно разыгрывать существ, выбирать, кто атакует (MTG-like, только без способностей на картах) — GPT-4o не могла нормально нарисовать поле битвы :(

Ещё пара демо:
— создание презентации с переключением слайдов
— создание интерактивной визуализации в стиле 3b1b
— создание игры для объяснения концепта opportunity cost

Модель можно опробовать бесплатно на claude.ai
👍2
Обратите внимание, при работе с Claude , что если ваш промпт будет противоречить системному промпту Anthropic , то результат не будет достигнут. А системный промпт, запрещает многие типичные формулировки "ты эксперт в области..." . Приведу текущий системный промпт Claude:
https://pastebin.com/raw/Cc3a5c0c