Безопасный Искусственный Интеллект 🤖
Последнее время много обсуждается про возможные опасности ИИ и как он уничтожит человечество. В связи с этим, популярней становятся исследования про AI Safety. Вот некоторые направления в этой области, если вдруг захочется сделать вклад😉
☝ Интерпретируемость. Нейросеть - черный ящик, перемножение и складывания чиселок миллиарды раз. Но есть разные подходы, чтобы понимать на какие части входного текста модель опиралась больше, или за что отвечает отдельно взятый нейрон, и так далее
☝ Робастность. Если подать на вход нетипичные данные, которые модель не видела во время обучения, она может выдать полный бред. Робастность это как раз про то, чтобы на широком спектре входных данных отвечать адекватно
☝ Честность. LLMки способны генерировать очень правдоподобный вымысел. Какой нибудь медицинский совет от ChatGPT может звучать очень научно и классно, но следовать ему без дополнительного факт чекинга - плохая идея
☝ Определение награды. Как донести до нейросети человеческие ценности, предпочтения? Самый популярный подход сейчас: Reward modeling на попарных сравнениях, сделанных людьми, и последующий RL
☝ Оценка качества. Перед тем как выпускать свежеобученную нейросеть в мир, было бы хорошо оценить её способности на разнообразных тестах, и заранее обнаружить её слабые и сильные стороны
Последнее время много обсуждается про возможные опасности ИИ и как он уничтожит человечество. В связи с этим, популярней становятся исследования про AI Safety. Вот некоторые направления в этой области, если вдруг захочется сделать вклад
☝ Интерпретируемость. Нейросеть - черный ящик, перемножение и складывания чиселок миллиарды раз. Но есть разные подходы, чтобы понимать на какие части входного текста модель опиралась больше, или за что отвечает отдельно взятый нейрон, и так далее
☝ Робастность. Если подать на вход нетипичные данные, которые модель не видела во время обучения, она может выдать полный бред. Робастность это как раз про то, чтобы на широком спектре входных данных отвечать адекватно
☝ Честность. LLMки способны генерировать очень правдоподобный вымысел. Какой нибудь медицинский совет от ChatGPT может звучать очень научно и классно, но следовать ему без дополнительного факт чекинга - плохая идея
☝ Определение награды. Как донести до нейросети человеческие ценности, предпочтения? Самый популярный подход сейчас: Reward modeling на попарных сравнениях, сделанных людьми, и последующий RL
☝ Оценка качества. Перед тем как выпускать свежеобученную нейросеть в мир, было бы хорошо оценить её способности на разнообразных тестах, и заранее обнаружить её слабые и сильные стороны
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍6🤔3❤1
SLiC-HF - убийца 🔪 RLHF?
RLHF, которым обучались ChatGPT и GPT-4, обладает следующим недостатком: сложное, долгое и нестабильное RL дообучение, с большими требованиями по памяти; ведь во время него нужно оценивать генерации с помощью Reward модели и считать вероятности изначальной моделью для KL члена (на рисунке 3 более подробное сравнение).
Так вот, чуваки из гугла показали, что есть более эффективный и простой способ дообучаться на сложный недифференцируемый сигнал типа Human Feedback'а. По human evaluation их метод статзначимо выигрывает у RLHF💪
Коротко про метод (Sequence Likelihood Calibration):
1️⃣ Обучить нейронку моделировать Human Feedback. Они экспериментировали с pair-wise (контрастив) и point-wise обучениями
2️⃣ Создать датасет
a. сгенерировать
b. либо взять непосредственно датасет попарных сравнений в качестве
c. микс a и b
3️⃣ Дообучить на нем с лоссом с рисунка 1
Что круто, они сравнились с более простым и очевидным способом улучшения модели: простой supervised finetuning на
Подробности читайте в статье, очень годная 🔥
Подписывайтесь на мой канал, чтобы читать про интересные штуки в AI: https://t.iss.one/building_singularity :)
RLHF, которым обучались ChatGPT и GPT-4, обладает следующим недостатком: сложное, долгое и нестабильное RL дообучение, с большими требованиями по памяти; ведь во время него нужно оценивать генерации с помощью Reward модели и считать вероятности изначальной моделью для KL члена (на рисунке 3 более подробное сравнение).
Так вот, чуваки из гугла показали, что есть более эффективный и простой способ дообучаться на сложный недифференцируемый сигнал типа Human Feedback'а. По human evaluation их метод статзначимо выигрывает у RLHF
Коротко про метод (Sequence Likelihood Calibration):
1️⃣ Обучить нейронку моделировать Human Feedback. Они экспериментировали с pair-wise (контрастив) и point-wise обучениями
2️⃣ Создать датасет
(x, y+, y-, y_ref)
:a. сгенерировать
n
кандидатов, проранжировать их моделью с 1 шага, выбрать лучший в качестве y_ref
, и ещё пару для y+
и y-
b. либо взять непосредственно датасет попарных сравнений в качестве
y+
и y-
; а в качестве y_ref
- написанные людьми суммаризацииc. микс a и b
3️⃣ Дообучить на нем с лоссом с рисунка 1
Что круто, они сравнились с более простым и очевидным способом улучшения модели: простой supervised finetuning на
y_ref
(рисунок 2)Подробности читайте в статье, очень годная 🔥
Подписывайтесь на мой канал, чтобы читать про интересные штуки в AI: https://t.iss.one/building_singularity :)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍7❤2🎉1
Улучшение качества 📈 за счет оптимального выбора весов для обучающих датасетов 📚
Датасеты бывают из разных доменов: интернет новости, википедия, код, диалоги, инструкции... И применяться одна и та же модель может на разных задачах: например это могут быть chit-chat диалоги, диалоги с детьми, диалоги, склоняющие к целевому действию - в зависимости от пользователя. В каких пропорциях брать датасеты в финальный трейн сет?
Авторы статьи (из Гугла и Стенфорда) предлагают способ выбора весов для каждого домена, который в их экспериментах:
🔹 Уменьшил лосс на каждом домене относительно бейзлайна (эвристически подобранные веса датасета Pile) - без трейдоффа, просто улучшение (рисунок 1)
🔹 Обученная их методом модель улучшила среднюю точность One-Shot’а в 5 разных задачах (рисунок 2)
Метод (рисунок 3):
1️⃣ Обучить небольшую reference Langauage Model
2️⃣ Обучить прокси модель (используя Group Distributionally Robust Optimization), чтобы получить новые веса для доменов
3️⃣ Обучить финальную большую LM с этими весами
❗️Group DRO: минимизация наибольшего лосса по всем доменам. То есть ищем модель, которая работает как можно лучше в самых тяжелых случаях.
На самом деле Group DRO не просто лосс минимизирует, а разницу лосса прокси и референс моделей (но получилось бы слишком тяжелое для понимания предложение 😁). Сам процесс обучения: поочередное изменение весов доменов и весов прокси LM’ки для решения минимакс задачи (алгоритм на рисунке 4)
В итоге:
🔸 качество строго лучше и достигается оно быстрее - относительно эвристически подобранных весов
🔸 качество такое же, но эксперименты дешевле - относительно оптимизации весов доменов под целевые задачи сразу с большой LM’кой
Статья: DoReMi: Optimizing Data Mixtures Speeds Up Language Model Pretraining
Датасеты бывают из разных доменов: интернет новости, википедия, код, диалоги, инструкции... И применяться одна и та же модель может на разных задачах: например это могут быть chit-chat диалоги, диалоги с детьми, диалоги, склоняющие к целевому действию - в зависимости от пользователя. В каких пропорциях брать датасеты в финальный трейн сет?
Авторы статьи (из Гугла и Стенфорда) предлагают способ выбора весов для каждого домена, который в их экспериментах:
🔹 Уменьшил лосс на каждом домене относительно бейзлайна (эвристически подобранные веса датасета Pile) - без трейдоффа, просто улучшение (рисунок 1)
🔹 Обученная их методом модель улучшила среднюю точность One-Shot’а в 5 разных задачах (рисунок 2)
Метод (рисунок 3):
1️⃣ Обучить небольшую reference Langauage Model
2️⃣ Обучить прокси модель (используя Group Distributionally Robust Optimization), чтобы получить новые веса для доменов
3️⃣ Обучить финальную большую LM с этими весами
❗️Group DRO: минимизация наибольшего лосса по всем доменам. То есть ищем модель, которая работает как можно лучше в самых тяжелых случаях.
На самом деле Group DRO не просто лосс минимизирует, а разницу лосса прокси и референс моделей (но получилось бы слишком тяжелое для понимания предложение 😁). Сам процесс обучения: поочередное изменение весов доменов и весов прокси LM’ки для решения минимакс задачи (алгоритм на рисунке 4)
В итоге:
🔸 качество строго лучше и достигается оно быстрее - относительно эвристически подобранных весов
🔸 качество такое же, но эксперименты дешевле - относительно оптимизации весов доменов под целевые задачи сразу с большой LM’кой
Статья: DoReMi: Optimizing Data Mixtures Speeds Up Language Model Pretraining
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍4❤1🤔1
Большой обзор 👁 методов по исправлению ответов LLM’ок 👨🏫
В генерациях LLM могут быть ложные факты, неверные рассуждения, код с багами, токсичные высказывания и прочие приколы. Авторы разложили по полочкам имеющиеся способы борьбы с этим.
Самый популярный сейчас подход для такого - собрать датасет предпочтений пользователей и делать RLHF. Но есть и намного более быстрые способы, где LLM генерирует критику сама для себя, и на её основе сама же исправляется😱
Такой пример post-hoc исправления может быть дешевле и эффективней в некоторых задачах, чем исправление в процессе обучения как в RLHF.
Авторы выделили во всех этих методах 3 сущности (рисунок 1):
1. Языковую модель, которая генерирует изначальный ответ
2. Критика, который дает фидбек; это может быть человеческая оценка, ответ GPT4 с нужным промптом, награда ревард модели, …
3. Способ исправления
Способы исправления могут быть:
⁃ С дообучением модели: RLHF (или SLiC / DPO) или просто составление исправленного датасета и обычный файнтюн
⁃ Во время генерации: изменять вероятности новых токенов на основе награды ревард модели, например; или генерировать N кандидатов, а затем выбирать лучший по мнению критика
⁃ Post-hoc исправление (рисунок 2): генерация той же LLM с 1ого шага, но с расширенным промптом, ...
Прикольно смотреть на такую таксономию, всё уложилось четко😗
Можно брать листья из каждой ветки, получать новый способ по исправлению ответов, и писать статью :D
(хотя там столько ссылок на другие работы, что может всё уже и перебрали)
Статья: "Automatically Correcting Large Language Models: Surveying the landscape of diverse self-correction strategies"
В генерациях LLM могут быть ложные факты, неверные рассуждения, код с багами, токсичные высказывания и прочие приколы. Авторы разложили по полочкам имеющиеся способы борьбы с этим.
Самый популярный сейчас подход для такого - собрать датасет предпочтений пользователей и делать RLHF. Но есть и намного более быстрые способы, где LLM генерирует критику сама для себя, и на её основе сама же исправляется
Такой пример post-hoc исправления может быть дешевле и эффективней в некоторых задачах, чем исправление в процессе обучения как в RLHF.
Авторы выделили во всех этих методах 3 сущности (рисунок 1):
1. Языковую модель, которая генерирует изначальный ответ
2. Критика, который дает фидбек; это может быть человеческая оценка, ответ GPT4 с нужным промптом, награда ревард модели, …
3. Способ исправления
Способы исправления могут быть:
⁃ С дообучением модели: RLHF (или SLiC / DPO) или просто составление исправленного датасета и обычный файнтюн
⁃ Во время генерации: изменять вероятности новых токенов на основе награды ревард модели, например; или генерировать N кандидатов, а затем выбирать лучший по мнению критика
⁃ Post-hoc исправление (рисунок 2): генерация той же LLM с 1ого шага, но с расширенным промптом, ...
Прикольно смотреть на такую таксономию, всё уложилось четко
Можно брать листья из каждой ветки, получать новый способ по исправлению ответов, и писать статью :D
(хотя там столько ссылок на другие работы, что может всё уже и перебрали)
Статья: "Automatically Correcting Large Language Models: Surveying the landscape of diverse self-correction strategies"
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3❤2
Какой размер датасета 📚 нужен для дообучения❓
Точного ответа конечно нет, но есть статьи где показали
- профит с гигантским датасетом: Orca на 5М инструкций и ответов, полученных от GPT-4
- профит с небольшими, но очень качественными датасетами
Например в статье Less is More for Alignment (LIMA) чуваки из Meta вручную собрали датасет из 1000 примеров. Дообучение на нем дает результаты лучше, чем на 52к примеров из Alpaca датасета.
Но вручную собирать дорого и долго, и в статье AlpaGasus предложили автоматизировать это (рис. 1)
Ученые придумали промпт🧠
Причем они даже не пробовали разные, просто сказали что воспользовались этим (рис. 2) и всё👍
Использовали GPT-4 с этим промптом, чтобы для пар (инструкция, ответ) получить оценку от 0 до 5 - насколько они подходят друг другу. Проскорили все пары в Alpaca и выбрали 9k примеров с оценкой больше 4.5. Дообучили модель на этих 9к и сравнились с обучением на 52к аж на 4 тест сетах:
- WizardLM 250к сложных примеров evol-instruct методом
- Vicuna 70к диалогов с ChatGPT
- Koala 260к разных датасетов (QA, диалоги с LLM, ...)
- Self-Instruct 82к инструкций и ответов, сгенерированных GPT-3
Выглядит как хороший замер, да вот только примеров в тест сетах было 180, 80, 218 и 252 соотвественно😵
Замеряли качество используя GPT-4, так что я вообще не понял, почему так мало. Тем не менее, по всем тест сетам стало лучше (рис. 3)
На других обучающих данных свой подход автоматической фильтрации они не пробовали. Возможно, потому что на GPT-4-distilled датасетах (типа vicuna) это и работать не будет. Статья в общем то не очень (на мой взгляд; плюс это препринт), но есть пара вещей, которые мне кажутся действительно полезными и применимыми на практике:
1️⃣ Маленький и качественный дотасет как отличная начальная точка; больше данных не всегда лучше
2️⃣ Фильтровать ответы моделей (не ChatGPT/GPT-4) по небинарным скорам от GPT-4 (хотя в первую очередь имеет смысл просто сгенерировать ответов от GPT-4 на своем домене)
subscribe
like, share, repost :D
Точного ответа конечно нет, но есть статьи где показали
- профит с гигантским датасетом: Orca на 5М инструкций и ответов, полученных от GPT-4
- профит с небольшими, но очень качественными датасетами
Например в статье Less is More for Alignment (LIMA) чуваки из Meta вручную собрали датасет из 1000 примеров. Дообучение на нем дает результаты лучше, чем на 52к примеров из Alpaca датасета.
Но вручную собирать дорого и долго, и в статье AlpaGasus предложили автоматизировать это (рис. 1)
Ученые придумали промпт
Причем они даже не пробовали разные, просто сказали что воспользовались этим (рис. 2) и всё
Использовали GPT-4 с этим промптом, чтобы для пар (инструкция, ответ) получить оценку от 0 до 5 - насколько они подходят друг другу. Проскорили все пары в Alpaca и выбрали 9k примеров с оценкой больше 4.5. Дообучили модель на этих 9к и сравнились с обучением на 52к аж на 4 тест сетах:
- WizardLM 250к сложных примеров evol-instruct методом
- Vicuna 70к диалогов с ChatGPT
- Koala 260к разных датасетов (QA, диалоги с LLM, ...)
- Self-Instruct 82к инструкций и ответов, сгенерированных GPT-3
Выглядит как хороший замер, да вот только примеров в тест сетах было 180, 80, 218 и 252 соотвественно
Замеряли качество используя GPT-4, так что я вообще не понял, почему так мало. Тем не менее, по всем тест сетам стало лучше (рис. 3)
На других обучающих данных свой подход автоматической фильтрации они не пробовали. Возможно, потому что на GPT-4-distilled датасетах (типа vicuna) это и работать не будет. Статья в общем то не очень (на мой взгляд; плюс это препринт), но есть пара вещей, которые мне кажутся действительно полезными и применимыми на практике:
subscribe
like, share, repost :D
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥3❤1😁1
Фидбек пользователей - конкурентное преимущество 💪
💡 Извлекать полезный сигнал для дообучения модели из взаимодействий пользователей с вашим приложением - важнейшая вещь.
С выходом ChatGPT стал популярен такой способ улучшения качества:
1. на своих production запросах получить датасет пар (запрос, качественный ответ от ChatGPT)
2. дообучить на этом свою собственную LLM поменьше, чтобы было дешевле и быстрее инферить
Это работает, потому что GPT-4 (полгода назад ChatGPT) от OpenAI - лучшая general purpose модель.
Но вот недавно OpenAI добавили возможность дообучать ChatGPT.
И если хочется максимального качества, то в алгоритм выше логично добавить в самое начало шаг с дообучением ChatGPT. Но на чем его дообучать?
- Если на ответах GPT-4, то профит будет не такой большой
- Если на своих же ответах (ответах ChatGPT), то его скорее всего вообще не будет
И тут (это конечно полезно и без ChatGPT, на своих собственных моделях) на помощь приходит Human Feedback, который вы собираете в своем приложении:
1️⃣ Выкатить ChatGPT на пользователей и собрать пары (запрос, ответ ChatGPT)
2️⃣ Отобрать из этих данных те ответы, которые максимально понравились пользователям
3️⃣ Дообучиться на этом
Таким образом, приватные данные создают вам конкурентное преимущество и помогают улучшать модели.
Про эту же идею есть слайд (на рисунке) в 153-страничном отчете от ARK Invest, вдруг кому будет полезно :)
С выходом ChatGPT стал популярен такой способ улучшения качества:
1. на своих production запросах получить датасет пар (запрос, качественный ответ от ChatGPT)
2. дообучить на этом свою собственную LLM поменьше, чтобы было дешевле и быстрее инферить
Это работает, потому что GPT-4 (полгода назад ChatGPT) от OpenAI - лучшая general purpose модель.
Но вот недавно OpenAI добавили возможность дообучать ChatGPT.
И если хочется максимального качества, то в алгоритм выше логично добавить в самое начало шаг с дообучением ChatGPT. Но на чем его дообучать?
- Если на ответах GPT-4, то профит будет не такой большой
- Если на своих же ответах (ответах ChatGPT), то его скорее всего вообще не будет
И тут (это конечно полезно и без ChatGPT, на своих собственных моделях) на помощь приходит Human Feedback, который вы собираете в своем приложении:
Таким образом, приватные данные создают вам конкурентное преимущество и помогают улучшать модели.
Про эту же идею есть слайд (на рисунке) в 153-страничном отчете от ARK Invest, вдруг кому будет полезно :)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3❤2
В реддите AI энтузиасты делают прикольные вещи. Вот эта картина прям очень классная
Промпт:
Medieval village scene with busy streets and castle in the distance
; на вход Control Net'у (QR Monster) была подана спиральВ комментах треда можно почитать поподробней.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍6❤3
Приближаем сингулярность
Фидбек пользователей - конкурентное преимущество 💪 💡 Извлекать полезный сигнал для дообучения модели из взаимодействий пользователей с вашим приложением - важнейшая вещь. С выходом ChatGPT стал популярен такой способ улучшения качества: 1. на своих production…
Какой фидбек бывает❓
Немного дополню предыдущий пост про то, какой фидбек пользователей обычно бывает и какие могут возникнуть проблемы (в контексте дальнейшего его использования для улучшения моделей).
Явный фидбек: лайк на видео, например. Очень хороший сигнал. Но обычно оставляется небольшим числом пользователей и данных мало.
И если попытаться награждать пользователей за их лайки/дизлайки/реакции/etc, то это скорее всего ухудшит ситуацию: фидбека действительно станет больше, но его качество сильно упадет. Стимул получать бонусы сильнее желания оставлять осмысленный фидбек.
С явным фидбеком может быть ещё одна проблема: его может оставлять только специфическая группа пользователей. Таким образом, обучившись на этот фидбек, модель станет лучше для них, но для медианного пользователя всё ухудшится (прям диктатура меньшинства получатся).
Проблема нерепрезентативности и малого количества данных может решиться с неявным фидбеком. Это про поведение пользователя: досмотрел ли видео/дослушал ли песню/продолжил ли взаимодействие.
Но хоть такого фидбека и много, он сильно более шумный, чем явный. На пользователя и его поведение влияют сотни других факторов, не связанных с вашим преложением. Чтобы извлечь полезный сигнал для дообучения, нужно хорошо фильтровать такой неявный фидбек:
- User-based фильтрация: удалять фидбек странных/неопытных/неплатящих/etc пользователей
- Content-based фильтрация: удалять странный/нерелевантный/чрезмерный/etc фидбек
Впрочем и фильтрация может внести свои искажения :D
Поэтому надо быть аккуратным🦔
Немного дополню предыдущий пост про то, какой фидбек пользователей обычно бывает и какие могут возникнуть проблемы (в контексте дальнейшего его использования для улучшения моделей).
Явный фидбек: лайк на видео, например. Очень хороший сигнал. Но обычно оставляется небольшим числом пользователей и данных мало.
И если попытаться награждать пользователей за их лайки/дизлайки/реакции/etc, то это скорее всего ухудшит ситуацию: фидбека действительно станет больше, но его качество сильно упадет. Стимул получать бонусы сильнее желания оставлять осмысленный фидбек.
С явным фидбеком может быть ещё одна проблема: его может оставлять только специфическая группа пользователей. Таким образом, обучившись на этот фидбек, модель станет лучше для них, но для медианного пользователя всё ухудшится (прям диктатура меньшинства получатся).
Проблема нерепрезентативности и малого количества данных может решиться с неявным фидбеком. Это про поведение пользователя: досмотрел ли видео/дослушал ли песню/продолжил ли взаимодействие.
Но хоть такого фидбека и много, он сильно более шумный, чем явный. На пользователя и его поведение влияют сотни других факторов, не связанных с вашим преложением. Чтобы извлечь полезный сигнал для дообучения, нужно хорошо фильтровать такой неявный фидбек:
- User-based фильтрация: удалять фидбек странных/неопытных/неплатящих/etc пользователей
- Content-based фильтрация: удалять странный/нерелевантный/чрезмерный/etc фидбек
Впрочем и фильтрация может внести свои искажения :D
Поэтому надо быть аккуратным
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥4🤔2
Самые успешные Generative AI компании
В статье Generative AI’s Act Two от Sequoia Capital (один из самых известных венчурных фондов) собрали воедино много классных GenAI компаний. И сгруппировали их по юскейсам, что очень удобно (рисунок 1). Также структурировали инструменты, которые для разработки AI используются (рисунок 2).
Можно подсмотреть что нибудь полезное :)
В самой статье есть несколько интересных вещей:
- фокус смещается с технологий на закрытие запросов пользователей; решения будут усложняться и специализироваться под конкретные юскейсы
- нет недостатка в пользовательском спросе, есть недостаток GPU, чтобы его закрыть
- ретеншн у GenAI заметно ниже, чем в топовых не AI-First компаниях (рисунок 3); видимо из за отсутствия социального аспекта
- пользователи в Character AI ведут текстовые диалоги с ботами по 2 часа в день (таймспент в тиктоке 96 мин); вот тут я удивлен
- данные - хорошее конкурентное преимущество, но пользовательский нетворк эффект и идеальная интеграция в жизнь/работу - ещё лучше
В статье Generative AI’s Act Two от Sequoia Capital (один из самых известных венчурных фондов) собрали воедино много классных GenAI компаний. И сгруппировали их по юскейсам, что очень удобно (рисунок 1). Также структурировали инструменты, которые для разработки AI используются (рисунок 2).
Можно подсмотреть что нибудь полезное :)
В самой статье есть несколько интересных вещей:
- фокус смещается с технологий на закрытие запросов пользователей; решения будут усложняться и специализироваться под конкретные юскейсы
- нет недостатка в пользовательском спросе, есть недостаток GPU, чтобы его закрыть
- ретеншн у GenAI заметно ниже, чем в топовых не AI-First компаниях (рисунок 3); видимо из за отсутствия социального аспекта
- пользователи в Character AI ведут текстовые диалоги с ботами по 2 часа в день (таймспент в тиктоке 96 мин); вот тут я удивлен
- данные - хорошее конкурентное преимущество, но пользовательский нетворк эффект и идеальная интеграция в жизнь/работу - ещё лучше
🔥8👍6🤔1🤯1
Помощь LLM 🦾 в разработке
Прошел мини курс про парное программирование с использованием LLM’ок (~30 min занимает на x2) от deeplearning.ai
Первое, что очень понравилось: интерфейс для ученика. Прям в браузере, рядом с самим видео, загружается Jupyter notebook с кодом, который можно редактировать и запускать. Всё уже настроено и работает, можно сразу приступать к практике.
Это прям очень классный learning experience. По сравнению с написанием преподавателем кода на доске в универе, это прям вау. Конкретно в этом курсе я этим почти не пользовался, но все равно остался под приятным впечатлением)
Теперь про более прикладные штуки. Для лучшего качества промпт настоятельно рекомендуют делать из 3ех частей:
1. Priming - типа "You are an expert at writing clear, concise, Python code." / “I don't think this code is the best way to do it in Python, can you help me?”
2. Запрос
3. Декоратор - типа “work step by step” / “add comment to every line” / “explain in detail what you did” / “explore different solutions”- дополнительные требования, чтобы сделать результат ещё более полезным для себя
Показали самые популярные сценарии:
- улучшение качества текущего кода
- упрощение кода
- написание тестов
- нахождение более эффективных решений
- помощь с дебагом
- объяснение того, что делает куча старого кода на любом языке
- написание документации
Все делается похоже: пишешь нужный прайминг, задаешь вопрос (иногда надо вставить текущий код), добавляешь комменты про то, чего хочешь получить от LLM.
От себя ещё добавлю, что LLM’ки хорошо умеют regexp’ы писать и отлично знают команды unix’а)
Кто использует Copilot/ChatGPT/etc? Как вам? Какие лайфхаки знаете?)
Прошел мини курс про парное программирование с использованием LLM’ок (~30 min занимает на x2) от deeplearning.ai
Первое, что очень понравилось: интерфейс для ученика. Прям в браузере, рядом с самим видео, загружается Jupyter notebook с кодом, который можно редактировать и запускать. Всё уже настроено и работает, можно сразу приступать к практике.
Это прям очень классный learning experience. По сравнению с написанием преподавателем кода на доске в универе, это прям вау. Конкретно в этом курсе я этим почти не пользовался, но все равно остался под приятным впечатлением)
Теперь про более прикладные штуки. Для лучшего качества промпт настоятельно рекомендуют делать из 3ех частей:
1. Priming - типа "You are an expert at writing clear, concise, Python code." / “I don't think this code is the best way to do it in Python, can you help me?”
2. Запрос
3. Декоратор - типа “work step by step” / “add comment to every line” / “explain in detail what you did” / “explore different solutions”- дополнительные требования, чтобы сделать результат ещё более полезным для себя
Показали самые популярные сценарии:
- улучшение качества текущего кода
- упрощение кода
- написание тестов
- нахождение более эффективных решений
- помощь с дебагом
- объяснение того, что делает куча старого кода на любом языке
- написание документации
Все делается похоже: пишешь нужный прайминг, задаешь вопрос (иногда надо вставить текущий код), добавляешь комменты про то, чего хочешь получить от LLM.
От себя ещё добавлю, что LLM’ки хорошо умеют regexp’ы писать и отлично знают команды unix’а)
Кто использует Copilot/ChatGPT/etc? Как вам? Какие лайфхаки знаете?)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3❤2