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. Пример как собрать все вышеизложенное в единый промпт
Может пригодиться русскоязычная версия такой шпаргалки?
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?
- Как сгенерировать целый проект, не написав ни одной строчки кода?
Вопросы лекторам можно оставить под этим постом! Ответим на них в конце трансляций.
- Каковы принципы работы современных генеративных моделей?
- Как сравнить и оценить модели генерации изображений и видео?
- Как отличить действительно инновационную модель от пустышки?
- Как современные LLM ускоряют процесс разработки?
- Как стать тимлидом «копайлота» и СhatGPT?
- Как сгенерировать целый проект, не написав ни одной строчки кода?
Вопросы лекторам можно оставить под этим постом! Ответим на них в конце трансляций.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
Сделали обзор на 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
Пара UX наблюдений:
1. Devika работает достаточно долго и часто совершенно непонятно чем она там собственно занята
2. Агент подгрузил все Ract JS зависимости и попытался отправить в LLM 68млн токенов, если бы ему это удалось, то при цене $10 за 1млн входящих токенов один запрос обошелся бы нам в $680. Выбрать часть кода, необходимую для решения текущей задачи из всего проекта возможно не такая уж и тривиальная задача, которая кроме всего прочего может влиять и на стоимость AI разработки. Представьте, что у вас сотни таких итераций в день.
Итого: проекты обещающие решать любые задачи по программированию пока выглядят неубедительно. Мы планируем пристальнее присмотреться к более узкоспециализированным AI агентам разработчикам, типа CRUD Apps, Text to SQL и т.д.
https://youtu.be/fHM0E5ux4Qs
YouTube
Devika - обзор open source AI агента программиста
Обзор на проект «Devika» - AI агент, который пишет веб и не только приложения и вносит изменения по запросу на естественном языке. Устанавливаем, запускаем, пробуем написать приложение на React JS.
Проект Devika и все ссылки: https://github.com/…
Проект Devika и все ссылки: https://github.com/…
❤1
В пятницу вышла статья от исследователей из Google Deep Mind в которой они утверждают (на основе проведенных испытаний), что если положить в контекст LLM большое количество примеров подобных решаемой задаче, то результат будет лучше. Подход назвали Many-Shot In-Context Learning. В целом кажется логичным и не удивительно, что исследование провели разработчики LLM в которой есть контекстное окно в миллион токенов, в которое, собственно, можно положить это большое (сотни и даже тысячи) количество примеров.
Вот, например, как делали с проверкой адекватности кода: Взяли датасет скриптов решающих задания из датасета GSM8K (набор математических задач), у Гугла такой был c решениями от Gemini 1.0. Датасет представляет из себя набор программ (предположу, что на Python) с разметкой на корректные и некорректные решения. Так вот, если подложить в промпт 128 таких примеров, то точность в проверке кода от LLM (когда вы даете ей код и просите проверить корректность) повышается на 5% относительно случая когда в таком запросе было только 4 примера.
Как использовать в быту? Например, собрать хороший тематический датасет с корректным кодом и багами по проекту и добавить в контекст автоматического ревьюера кода.
Что интересно, также в исследовании отмечено, что датасет с примерами может быть синтетическим, или состоять только из похожих вопросов без ответов и это так же повышает эффективность решений от LLM. Ссылка на arixv.
Вот, например, как делали с проверкой адекватности кода: Взяли датасет скриптов решающих задания из датасета 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, чтобы их прочитать☺️
"Сегодня мы наблюдаем экспоненциальный рост интереса к проектированию и использованию 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-ближайших соседей.
Во так это может выглядеть:
или
Сам проект, документация, примеры и сообщество на Github.
«Попытка программистов потянуть одеяло обратно на себя», - как сформулировал это Владимир Владимирович Крылов.
Суть – не выдумываем промпты для решения задач, а собираем решение задачи из модулей, и далее алгоритмически оптимизируем веса и промпты внутри решения.
Как применять? Оптимизировать ваши решения с применением языковых моделей не на основе выдумывания идеального промпта, а на основе математики, т.е. более предсказуемо и обоснованно (Так это должно работать, мы пока пробовали только учебные примеры).
Основные понятия в фреймворке это 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 и т.д. (мы обозревали их выше), только теперь об этом заявляют серьезные игроки, а значит больше шансов, что у них действительно все получится. Почитать пост в блоге создателей и посмотреть видео тут.
Планируется, что это будет решение позволяющее реализовывать проекты по разработке ПО от начала до конца на естественном языке или совмещая программирование на естественном языке с классическим программированием. В обзоре обещают 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.
Больше подробностей в официальном блоге.
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/
Напомним, что на прошлой неделе было много обсуждений загадочной модели «im-a-good-gpt2-chatbot» которая неожиданно появилась в списке LMSYS и показала очень высокие результаты в программировании и решении математических задач (общественность предположила, что это как раз таки OpenAI тестирует обновление продукта). Ждем разъяснений от Сэма Альтмана и возможности попробовать поработать с новой более умной версией GPT!
В качестве ссылки на презентацию OpenAI указывают свой сайт: https://openai.com/
Openai
We believe our research will eventually lead to artificial general intelligence, a system that can solve human-level problems. Building safe and beneficial AGI is our mission.
👍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), но об этом потом.
"Привет, меня зовут GPT-4o. Я — новая языковая модель, приятно познакомиться!" Впечатляет как модель работает с кодом, (посмотрите сюда - https://codepen.io/shir-man/pen/GRaKzLg), но об этом потом.
Openai
Hello GPT-4o
We’re announcing GPT-4 Omni, our new flagship model which can reason across audio, vision, and text in real time.
👍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ом году.
• Анонсировали 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ом году.
YouTube
🌍🔴 Google I/O '24 на русском с комментариями разработчиков
Приглашаем вас присоединиться к просмотру прямой трансляции Google Keynote (Google I/O '24) с русскоязычным переводом и комментариями экспертов по искусственному интеллекту! 🎥🇷🇺
📅 Дата и время: 14 мая в 19.45 по МСК
🎙️ Наши эксперты будут делиться своими…
📅 Дата и время: 14 мая в 19.45 по МСК
🎙️ Наши эксперты будут делиться своими…
🔥2
Учитывая необычайный спрос на умения разрабатывать RAG для приложений с использованием LLM , рекомендую посмотреть это подробное изложение построения RAG на открытых моделях.
https://youtu.be/HRvyei7vFSM?feature=shared
https://youtu.be/HRvyei7vFSM?feature=shared
YouTube
Building a RAG application using open-source models (Asking questions from a PDF using Llama2)
GitHub Repository: https://github.com/svpino/llm
I teach a live, interactive program that'll help you build production-ready machine learning systems from the ground up. Check it out at https://www.ml.school.
Twitter/X: https://www.twitter.com/svpino
I teach a live, interactive program that'll help you build production-ready machine learning systems from the ground up. Check it out at https://www.ml.school.
Twitter/X: https://www.twitter.com/svpino
👍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. Промпт по-прежнему имеет значение. Например, такой прием как попросить модель повторить вопрос перед тем, как давать ответ повысил вероятность того, что код запустится. Но об этом в одном из следующих постов.
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. Промпт по-прежнему имеет значение. Например, такой прием как попросить модель повторить вопрос перед тем, как давать ответ повысил вероятность того, что код запустится. Но об этом в одном из следующих постов.
👍9❤1
Выпустили на Хабре статью "Шпаргалка для создания идеального промпта для LLM". Это перевод статьи, ссылку на которую которую мы уже публиковали тут в канале месяц назад. За это время уже довольно много поменялось и мы дополнили ее своими комментариями. Там, кстати, есть пример промпта, которым я генерил код из предыдущего поста.
Хабр
Шпаргалка для создания идеального промпта 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!)
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
YouTube
Близкие контакты с LLM. Эволюция промптинга
После появления ChatGPT термин «промптинг» стал быстро распространяться как в профессиональной среде людей, близких к программированию и ИТ, так и среди школьников и студентов, журналистов и юристов, физиков и лириков. 23 мая в 12:00 по МСК профессор Владимир…
Продолжая разговор о промптинге, делимся ссылкой на новую лекцию профессора В. В. Крылова, в которой он рассказал об эволюции промптинга.
В лекции разобрали:
🔸 Как изменялось понимание важности правильного формулирования промпта для получения от LLM желаемого, правильного, полезного ответа?
🔸 Как и почему появился «промпт инжиниринг»?
🔸 Как развивались техники проектирования эффективных промптов?
«Основное внимание в лекции уделяется трендам в развитии приложений, основанных на применении LLM, превратившим разработку промптов в часть общего проектирования программных систем. Вы узнаете о том, какие технологии используются для реализации встроенных промптов в концепциях RAG и AI Agents. Лекция познакомит с подходом сведения промтинга к программированию и перспективой новой технологии общения с LLM – Flow Engineering», — уточнил сам лектор.
💬 Если при просмотре лекции у вас возникнут вопросы, пишите их в комментариях к этому посту, чтобы Владимир Владимирович ответил на них.
Оставляем ссылку на подкаст AI4Dev для тех, кому удобнее слушать лекции, а не смотреть.
В лекции разобрали:
«Основное внимание в лекции уделяется трендам в развитии приложений, основанных на применении 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 и самостоятельно скопипастил полученное решение. Но надо понимать, что это автономный агент, он действовал без человека, т.е. теоретически что-то легко масштабируемое.
Вывод: хотя пока и видны слабые места, но концепция классная, я думаю уже через год-два такие агенты будут работать с нами бок о бок в рамках стандартных процессов разработки.
Еще отмечу, что процесс исправления бага оказался раз в десять дороже, чем если бы я просто задал такой же вопрос чату GPT и самостоятельно скопипастил полученное решение. Но надо понимать, что это автономный агент, он действовал без человека, т.е. теоретически что-то легко масштабируемое.
Вывод: хотя пока и видны слабые места, но концепция классная, я думаю уже через год-два такие агенты будут работать с нами бок о бок в рамках стандартных процессов разработки.
YouTube
SWE-Agent - AI разработчик исправляет баги из GitHub репозиториев, тестируем на реальном проекте
Пробуем на реальном проекте разработку из Принстона SWE-Agent.
Опенсорсный AI разработчик, созданный для исправления багов и issues из GitHub репозиториев. Запускаем с GPT4 для бага в Pyhthon коде.
Наш Telegram канал: https://t.iss.one/LLM4dev
SWE-Agent:…
Опенсорсный AI разработчик, созданный для исправления багов и issues из GitHub репозиториев. Запускаем с GPT4 для бага в Pyhthon коде.
Наш Telegram канал: https://t.iss.one/LLM4dev
SWE-Agent:…
👍3
AI-агенты, AI-агенты… А зачем они собственно нужны в разработке ПО? LLM прекрасно пишут код при общении напрямую через чат и мы, как и несколько миллионов разработчиков, с удовольствием этим пользуемся. Однако не все задачи в разработке можно решить через чат с LLM. Чем же конкретно нам могут помочь AI агенты?
Синергия агентов, управление сложными проектами
В фреймворке с агентами несколько агентов могут работать одновременно, каждый из которых специализируется на определенном типе задач, как в обычной проектной команде. Это позволяет распределить работу и добиться более высокого качества выполнения. Например, один агент может заниматься управлением и хранением кода, коммитами, CI и т.д., другой —планированием, третий – написанием backend кода, еще один— тестированием. Уложить все эти активности в один запрос LLM, да так чтобы они корректно выполнились – нереальная задача. Если вы создаете под каждую роль разработки отдельных агентов и агента-менеджера, который оркестрирует всю вашу команду, задача кажется куда более решаемой. Крупные проекты требуют координации большого количества задач. При работе с LLM напрямую через чат, где каждая задача решается отдельно без связи с остальными, координация остается за кадром. Это ответственность живого человека - разработчика, который решает отдельные задачи через LLM, а потом сам собирает это все в единый проект. Агенты же могут самостоятельно работать над большим проектом.
Автономность
Агенты способны функционировать автономно, без постоянного вмешательства человека. Это особенно важно в крупных проектах, где необходимо выполнять множество разных задач. Работа с LLM напрямую подразумевает генерацию ответа на один запрос. Если этот ответ не удовлетворяет требованиям, пользователю приходится повторно формулировать запрос, а потом еще, и еще, и еще. AI-агенты могут автоматически корректировать свои действия на основе промежуточных результатов, пока не добьются ожидаемого результата, т.е. полностью берут на себя работу с задачей.
При этом использование агентов создает некоторые риски, о которых тоже стоит упомянуть:
Риск бесконечных циклов
Обратная сторона автономности агентов – риск бесконечных циклов. Пытаясь решить задачу, агент может впасть в цикл, раз за разом отправляя в LLM последовательность одинаковых или очень похожих запросов. Это может привести к потере времени и ресурсов.
Высокая стоимость запросов
При интенсивном использовании агенты могут отправлять сотни запросов к LLM, что может значительно увеличить затраты на использование облачных сервисов и API. Задачу, которую человек решит с LLM за один запрос, агент может решать десятками и сотнями запросов.
Сложность настройки и управления
Создание и управление агентами требует высокого уровня технических знаний и навыков. Мы пока еще не видели AI-агентов разработчиков которые могли бы решать много сложных разнообразных задач на равных с людьми. Это не так просто придумать и запрограммировать, но все впереди!
Синергия агентов, управление сложными проектами
В фреймворке с агентами несколько агентов могут работать одновременно, каждый из которых специализируется на определенном типе задач, как в обычной проектной команде. Это позволяет распределить работу и добиться более высокого качества выполнения. Например, один агент может заниматься управлением и хранением кода, коммитами, CI и т.д., другой —планированием, третий – написанием backend кода, еще один— тестированием. Уложить все эти активности в один запрос LLM, да так чтобы они корректно выполнились – нереальная задача. Если вы создаете под каждую роль разработки отдельных агентов и агента-менеджера, который оркестрирует всю вашу команду, задача кажется куда более решаемой. Крупные проекты требуют координации большого количества задач. При работе с LLM напрямую через чат, где каждая задача решается отдельно без связи с остальными, координация остается за кадром. Это ответственность живого человека - разработчика, который решает отдельные задачи через LLM, а потом сам собирает это все в единый проект. Агенты же могут самостоятельно работать над большим проектом.
Автономность
Агенты способны функционировать автономно, без постоянного вмешательства человека. Это особенно важно в крупных проектах, где необходимо выполнять множество разных задач. Работа с LLM напрямую подразумевает генерацию ответа на один запрос. Если этот ответ не удовлетворяет требованиям, пользователю приходится повторно формулировать запрос, а потом еще, и еще, и еще. AI-агенты могут автоматически корректировать свои действия на основе промежуточных результатов, пока не добьются ожидаемого результата, т.е. полностью берут на себя работу с задачей.
При этом использование агентов создает некоторые риски, о которых тоже стоит упомянуть:
Риск бесконечных циклов
Обратная сторона автономности агентов – риск бесконечных циклов. Пытаясь решить задачу, агент может впасть в цикл, раз за разом отправляя в LLM последовательность одинаковых или очень похожих запросов. Это может привести к потере времени и ресурсов.
Высокая стоимость запросов
При интенсивном использовании агенты могут отправлять сотни запросов к LLM, что может значительно увеличить затраты на использование облачных сервисов и API. Задачу, которую человек решит с LLM за один запрос, агент может решать десятками и сотнями запросов.
Сложность настройки и управления
Создание и управление агентами требует высокого уровня технических знаний и навыков. Мы пока еще не видели AI-агентов разработчиков которые могли бы решать много сложных разнообразных задач на равных с людьми. Это не так просто придумать и запрограммировать, но все впереди!
❤🔥3