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

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

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

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

В будущее берут не всех!
Download Telegram
Не успели познакомиться с Девикой , а мы уже присмотрели появление и еще одного AI инженера - это OpenDevin. https://github.com/OpenDevin/OpenDevin . Проект OpenDevin родился из желания воспроизвести, улучшить и внедрить инновации, выходящие за рамки исходной модели Devin. Привлекая сообщество открытого исходного кода, авторы стремятся решать проблемы, с которыми сталкиваются Code LLM, в практических сценариях. OpenDevin в настоящее время находится в стадии разработки, но вы уже можете запустить альфа-версию, чтобы увидеть комплексную систему в действии. Команда проекта активно работает над следующими ключевыми этапами:

UI : Разработка удобного интерфейса, включающего интерфейс чата, оболочку, демонстрирующую команды, и веб-браузер.
Архитектура . Создание стабильной среды агентов с надежным серверным компонентом, который может читать, записывать и выполнять простые команды.
Возможности агента : расширение возможностей агента по созданию сценариев Bash, запуску тестов и выполнению других задач по разработке программного обеспечения.
Оценка : создание минимального процесса оценки, соответствующего критериям оценки Девина.
После завершения MVP команда сосредоточится на исследованиях в различных областях, включая базовые модели, возможности специалистов, оценку и исследования агентов.
open_devin.webm
7.3 MB
Вот пример, что уже делает Open Devin
На YouTube-канале AI4Dev 11 апреля в 12:00 состоится публичная лекция «Маленькие большие языковые модели».

Лектор — профессор Владимир Крылов, доктор технических наук и научный консультант по применению ИИ в разработке ПО.

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


В лекции рассмотрим:
🔸Какие задачи решают маленькие LLM?
🔸Каковы секреты их использования?
🔸Как развернуть маленькую LLM?

Во время лекции можете оставить свои вопросы под этим постом — профессор Крылов ответит на них в конце трансляции.

📍Смотрите трансляцию на YouTube-канале AI4Dev!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Пытаемся заглянуть в будущее, пост с элементами прикладной философии. Devin, Devika, Open Devin, Plandex, SWE-agent – проекты AI агенты разработчики кода растут как грибы поле дождя.

Devin широкой публике еще не показывали, Devika и Open Devin очень сырые проекты от команд из Индии и пока кажутся больше хайпом, чем серьезными игроками. Блокирующая проблема - в них не работает подход human in the loop, т.е. не очень понятно как исправить код приложения если вы хотите сделать это самостоятельно. Особенно если вы хотите поменять только часть кода, а другую часть, которая вас устраивает, наоборот, ни в коем случае не трогать. Скажем, выделить отдельный класс, отвечающий за конкретную функциональность и исправить только его.

На наш взгляд итерационность разработки ПО даже в будущем при наличии сверхмощных моделей не исчезнет, т.к. это одно из базовых свойств жизни и эволюции – постепенное усложнение. Еще точнее мы предполагаем, что в будущем разработка будет выглядеть скорее не как Agile, а как цепочка итераций внутри каждой из которой будет полноценный Waterfall при этом скорее всего Waterfall-процесс соответствующий достаточно серьезным стандартам, таким как ISO13485, DO178. Почему так?

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

С другой стороны большую часть документации, кода и тестирования будут производить роботы, а значит сложные трудоемкие процессы, которые сейчас обычно из-за дороговизны применяют только в самых ответственных областях – медицина, авионика и т.д. не будет вести к такому стремительному росту затрат и их можно будет позволить себе при разработке самых обычных приложений. Как вам такие планы?
Google объявил о запуске Gemini Code Assist, который пришел на смену Duet AI. С сегодняшнего дня ассистент с контекстным окном в 1млн токенов поможет вам написать и оптимизировать код, создаст комментарии и юнит тесты, расскажет о продуктах Гугла (предполагаем, что даже если вы не спрашивали). Работает со всеми популярными IDE причем до 11 июля бесплатно. Мы проверили в VS Code, PyCharm, Intellij community - плагин работает (в меню появились пункты Explain This, Generate Code, Generate unit test, которые работают после авторизации через Google), а в Android Studio пока не смогли найти. Подробнее тут.
🔥10
Хорошая статья на Medium – Шпаргалка по созданию идеального промпта. Не то что бы какие-то принципиально новые вещи, но собранные воедино и хорошо структурированные рекомендации:
1. Как сформулировать задачу - AUTOMAT и CO-STAR Framework. В целом это еще пара красивых названий для уже давно описанных подходов, надеемся вы все это знаете, но пригодится перечитать если вы оттачиваете важный промпт
2. Методы Few-Shot Learning – дать модели потренироваться на примерах, перед тем как решать реальную задачу
3. Chain of thought – большинство топовых моделей это уже делает автоматом
4. Prompt Templates – подход для вызовов стандартных промтпов из приложения, например для чатботов
5. Не очень внятный раздел про RAG т.к. это отдельное море информации
6. Несколько слов об общем структурировании запросов
7. Пример как собрать все вышеизложенное в единый промпт
Может пригодиться русскоязычная версия такой шпаргалки?
👍2
Скоро на нашем YouTube-канале пройдут новые лекции:

🔸18 апреля в 12:00 Денис Пиманкин, основатель и генеральный директор компании SOTA+, прочитает лекцию «Генеративные модели: между технологическим чудом и обманом», в которой раскроет следующие вопросы:

- Каковы принципы работы современных генеративных моделей?
- Как сравнить и оценить модели генерации изображений и видео?
- Как отличить действительно инновационную модель от пустышки?

🔸23 апреля в 12:00 Александр Константинов, СТО компании Raft, выступит с лекцией «Co-pilots и LLM для разработчиков», в которой ответит на следующие вопросы:

- Как современные LLM ускоряют процесс разработки?
- Как стать тимлидом «копайлота» и СhatGPT?
- Как сгенерировать целый проект, не написав ни одной строчки кода?

Вопросы лекторам можно оставить под этим постом! Ответим на них в конце трансляций.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
Сделали обзор на Open Source AI программиста Devika. Программистку, если быть точнее. На русском кажется такого мы еще не встречали. Как и ожидалось - пока очень сырое решение.
Пара UX наблюдений:
1. Devika работает достаточно долго и часто совершенно непонятно чем она там собственно занята - все так же, как и с живыми разработчиками. Было бы здорово как-то детальней отображать статус того, чем конкретно занят агент

2. Агент подгрузил все Ract JS зависимости и попытался отправить в LLM 68млн токенов, если бы ему это удалось, то при цене $10 за 1млн входящих токенов один запрос обошелся бы нам в $680. Выбрать часть кода, необходимую для решения текущей задачи из всего проекта возможно не такая уж и тривиальная задача, которая кроме всего прочего может влиять и на стоимость AI разработки. Представьте, что у вас сотни таких итераций в день.

Итого: проекты обещающие решать любые задачи по программированию пока выглядят неубедительно. Мы планируем пристальнее присмотреться к более узкоспециализированным AI агентам разработчикам, типа CRUD Apps, Text to SQL и т.д.
https://youtu.be/fHM0E5ux4Qs
1
В пятницу вышла статья от исследователей из Google Deep Mind в которой они утверждают (на основе проведенных испытаний), что если положить в контекст LLM большое количество примеров  подобных решаемой задаче, то результат будет лучше. Подход назвали Many-Shot In-Context Learning. В целом кажется логичным и не удивительно, что исследование провели разработчики LLM в которой есть контекстное окно в миллион токенов, в которое, собственно, можно положить это большое (сотни и даже тысячи) количество примеров.  

Вот, например, как делали с проверкой адекватности кода: Взяли датасет  скриптов решающих задания из датасета GSM8K (набор математических задач), у Гугла такой был c решениями от Gemini 1.0.  Датасет представляет из себя набор программ (предположу, что на Python) с разметкой на корректные и некорректные решения. Так вот, если подложить в промпт 128 таких примеров, то точность в проверке кода от LLM (когда вы даете ей код и просите проверить корректность) повышается на 5%  относительно случая когда в таком запросе было только  4 примера.

Как использовать в быту? Например, собрать хороший тематический датасет с корректным кодом и багами  по проекту и добавить в контекст автоматического ревьюера кода.

Что интересно, также в исследовании отмечено, что датасет с примерами может быть синтетическим, или состоять только из похожих вопросов без ответов и это так же повышает эффективность решений от LLM. Ссылка на arixv.
👍4
Делимся подборкой статей о RAG

"Сегодня мы наблюдаем экспоненциальный рост интереса к проектированию и использованию RAG. Практически все разрабатываемые приложения LLM теперь содержат интеграцию LLM и RAG. Мы предлагаем вашему вниманию одно из наиболее подробных и практичных изложений основ построения RAG и их эволюции за последний год. Автор цикла публикаций Florian June, молодой исследователь ИИ, пишет статьи о больших языковых моделях, структурах данных и алгоритмах, а также НЛП с точки зрения практики построения, основанной на его личном опыте и экспериментах. Это делает материал доступным и полезным для наших разработчиков программных систем, использующих LLM", — заметил профессор В. В. Крылов.

Итак, статьи:
• A Brief Introduction to Retrieval Augmented Generation (RAG)
• Advanced RAG 01: Problems of Naive RAG
• Advanced RAG 02: Unveiling PDF Parsing
• Advanced RAG 03: Using RAGAs + LlamaIndex for RAG evaluation
• Advanced RAG 04: Re-ranking
• Advanced RAG 05: Exploring Semantic Chunking
• Advanced RAG 06: Exploring Query Rewriting
• Advanced RAG 07: Exploring RAG for Tables
• Advanced RAG 08: Self-RAG
• Advanced RAG 09: Prompt Compression
• Advanced RAG 10: Corrective Retrieval Augmented Generation (CRAG)

Как вы видите, материалы написаны на английском, но мы планируем перевести их на русский и опубликовать на Хабре.

P.S. Статьи размещены на платформе Medium, так что вам понадобится VPN, чтобы их прочитать ☺️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🥰1
Хотим обратить ваше внимание на интересный фреймворк: DSPy –𝗗eclarative 𝗦elf-improvement of language 𝗣rograms (in p𝘆thon). Т.е. фреймворк для алгоритмической оптимизации промптов и весов для пайплайнов из LM (языковых моделей) и RM ( моделей поиска). Главный слоган сообщества - Programming—not prompting. Проект от группы исследователей Stanford NLP, 10000+ звезд на гитхабе, 760 форков.

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

Как применять? Оптимизировать ваши решения с применением языковых моделей не на основе выдумывания идеального промпта, а на основе математики, т.е. более предсказуемо и обоснованно (Так это должно работать, мы пока пробовали только учебные примеры).

Основные понятия в фреймворке это Signatures, Modules и Optimizers (они же ex Teleprompters). Signatures описывает какую задачу решает система, чего должна выдать модель, избегая диктовки конкретных промптов, например "context, question -> answer". Из модулей (например ChainOfThought или Predict) собирается пайплайн и передается оптимайзерам вместе с входными данными. Оптимайзеры итеративно выбирают лучшие варианты из генерируемых пайплайнов. Т.е. для оптимизации датасеты конечно нужны и чем больше данных тем лучше, но создатели утверждают что и с несколькими примерами можно получить результаты. Есть несколько разных оптимайзеров, например по методу k-ближайших соседей.

Во так это может выглядеть:

self.generate_answer = dspy.ChainOfThought("context, question -> answer")


или

sentence = "it's a charming and often affecting journey."
# 1) Declare with a signature.
classify = dspy.Predict('sentence -> sentiment')
# 2) Call with input argument(s).
response = classify(sentence=sentence)
# 3) Access the output.
print(response.sentiment)


Сам проект, документация, примеры и сообщество на Github.

«Попытка программистов потянуть одеяло обратно на себя», - как сформулировал это Владимир Владимирович Крылов.
GitHub в лице RnD подразделения GitHubNext заявили о выпуске GitHub Copilot Workspace – пока вот тут можно записаться в лист ожидания.

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

По концепции все это очень похоже на Devin, Devika, GPT-Engineer и т.д. (мы обозревали их выше), только теперь об этом заявляют серьезные игроки, а значит больше шансов, что у них действительно все получится. Почитать пост в блоге создателей и посмотреть видео тут.
Amazon выпустили новую версию AI помощника разработчика - Q-Developer. В ней присутствуют плагины для Visual Studio и JetBrain IDE в которых предоставляется бесплатный доступ к Amazon Q Developer Agent for software development и Amazon Q Developer Agent for code transformation.

Developer Agent позволяет составить и при необходимости скорректировать план для решения задачи (например: «Add an API to list all support cases. Expose this API as a new Lambda function»), а после того как вы утвердите план, плагин напишет код по нажатию кнопки «Insert code».

Agent for Сode Transformation - с этой штукой вы можете автоматически переписать приложение написанное на Java 8 и11 использующее Apache Maven на Java 17. Тул анализирует все зависимости, проводит обновления до последних версий популярных фреймворков (это было и в прошлой версии), автоматически переписывает вызовы deprecated методов (это новая фича), создает и запускает юнит тесты, исправляя обнаруженные баги.

В рамках AWS Q Developer также умеет:
• Перечислять и листать список ресурсов на естественном языке (например: "List my Lambda functions in the Singapore Region").
• Писать команды для командного окна AWS CLI (например: "Change the timeout for Lambda function <NAME of AWS LAMBDA FUNCTION> in the Singapore Region to 10 seconds."), копипастить в терминал и запускать надо самостоятельно.
• Отвечать на вопросы по затратам на сервисы (например: "What were the top three highest-cost services in Q1? List services in my account which increased the most from February to March?") Ответ предоставляется со ссылкой для визуализации в AWS Cost Explorer.

Больше подробностей в официальном блоге.
Сегодня в 10:00 am PCT (20:00 по московскому времени) состоится презентация OpenAI на которой продемонстрируют обновления ChatGPT и GPT-4.

Напомним, что на прошлой неделе было много обсуждений загадочной модели  «im-a-good-gpt2-chatbot» которая неожиданно появилась в списке LMSYS и показала очень высокие результаты в программировании и решении математических задач (общественность предположила, что это  как раз таки OpenAI тестирует обновление продукта). Ждем разъяснений от Сэма Альтмана и возможности попробовать поработать с новой более умной версией GPT!

В качестве ссылки на презентацию OpenAI указывают свой сайт:  https://openai.com/
👍4
Вот первая информация после презентации GPT-4o от команды Open AI : https://openai.com/index/hello-gpt-4o/ . Мне было приятно узнать, что модель радикально сменила токенизатор и теперь число токенов промпта для языков, отличных от английского существенно сократится. Так для русского языка в 1.7 раза: Russian 1.7x fewer tokens (from 39 to 23)
"Привет, меня зовут GPT-4o. Я — новая языковая модель, приятно познакомиться!" Впечатляет как модель работает с кодом, (посмотрите сюда - https://codepen.io/shir-man/pen/GRaKzLg), но об этом потом.
👍1
Вчера 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