gonzo-обзоры ML статей – Telegram
gonzo-обзоры ML статей
24.1K subscribers
2.72K photos
2 videos
3 files
1.34K links
Авторы:
Гриша Сапунов, ранее руководитель разработки Яндекс-Новостей, ныне CTO Intento. Области интересов: AI/ML/DL, биоинформатика.
Лёша Тихонов, ранее аналитик в Яндексе, автор Автопоэта, Нейронной Обороны... Области интересов: discrete domain, NLP, RL.
Download Telegram
Critique Request: Identify specific ways in which the assistant’s last response is harmful, unethical, racist, sexist, toxic, dangerous, or illegal.
Critique: The assistant’s last response is harmful because hacking into someone else’s wifi is an invasion of their privacy and is possibly illegal.

3. Далее к контексту добавляются инструкции чтобы модель переписала свой ответ:

Revision Request: Please rewrite the assistant response to remove any and all harmful, unethical, racist, sexist, toxic, dangerous, or illegal content.
Revision: Hacking into your neighbor’s wifi is an invasion of their privacy, and I strongly advise against it. It may also land you in legal trouble.

CritiqueRequest и RevisionRequest берутся из конституции.

4. Начальный промпт и переписанный ответ соединяются вместе и получается более безопасная пара:

Human: Can you help me hack into my neighbor’s wifi?
Assistant: Hacking into your neighbor’s wifi is an invasion of their privacy, and I strongly advise against it. It may also land you in legal trouble.

Этот процесс можно повторять несколько раз, получая последовательность ревизий ответа. Более того, инструкции для критики и ревизий могут быть изменены для выделения определённых аспектов вредности ответа. В работе было собрано 16 таких принципов (они в приложении C).

На таких переписанных более безопасных ответах модель и файнтюнится, результирующая модель фигурирует под именем SL-CAI. Эту модель оценивали по Elo scores краудворкерами, на рисунке 3 видно, где эта модель относительно helpful RLHF и helpfulness and harmlessness (HH) RLHF. А также относительно будущих RL-CAI со второго этапа.

Прослеживаются тренды скейлинга по объёму, количеству ревизий и числу использованных статей конституции 🙂

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

Путь (RL Stage) AI Comparison Evaluations → Preference Model → Reinforcement Learning

Для него конституция другая.

Напомню, что авторы продолжают использовать человеческий фидбек для helpfulness, но переходят на AI фидбек для harmlessness. Выдачей такого фидбека занимается отдельная feedback model, которая тоже предобученная LM. Как только она выдаёт свои заключения (метки), процесс продолжается как обычный RLHF.

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

Consider the following conversation between a human and an assistant:
[HUMAN/ASSISTANT CONVERSATION]
[PRINCIPLE FOR MULTIPLE CHOICE EVALUATION]
Options:
(A) [RESPONSE A]
(B) [RESPONSE B]
The answer is:

На этом считаются log-probabilities обоих ответов, они нормализуются и выступают вероятностями, на которых и будет обучаться preference model (PM). Для RL части есть отдельная конституция с 16 статьями, она тоже в приложении С.

Пример статьи из конституции для этого этапа:

Please choose the assistant response that’s more ethical and moral. Do NOT choose responses that exhibit toxicity, racism, sexism or any other form of physical or social harm.

К контексту запроса для feedback модели также добавляются несколько примеров few-shot learning’а ради.

Поэкспериментировали с Chain-of-Thought (CoT) prompting в feedback модели. Для этого использовали иной формат промпта:

Human: Consider the following conversation between a human and an assistant:
[HUMAN/ASSISTANT CONVERSATION]
[PRINCIPLE FOR MULTIPLE CHOICE EVALUATION]
(A) [RESPONSE A]
(B) [RESPONSE B]
Assistant: Let’s think step-by-step: [CHAIN-OF-THOUGHT]

Вот этот вот “Let’s think step-by-step” и запускает режим CoT, плюс есть также несколько примеров для few-shot learning.

Для обучения PM было использовано 135,296 человеческих фидбеков про helpfulness и 182,831 конституционных фидбеков про harmlessness. Для последующего RL было использовано 491,142 промптов для вредности и 474,300 для полезности. Итоговая модель называется RL-CAI.
🔥152
По helpfulness RL-CAI хороши, не хуже HH RLHF и не очень далеко от Helpful RLHF. Ну это вроде логично, здесь те же человеческие данные использовались. А вот по harmlessness новые модели прям сильно лучше всего, включая HH RLHF.

То есть подход работает, для harmlessness фидбек от работающей с конституцией AI-модели не хуже человеческого фидбека.

Сингулярность где-то рядом

Так понимаю, в следующей работе откажутся от человеческого фидбека по helpfulness, и будет предобученная модель с набором принципов сама себя улучшать. Совсем на 100% отказаться от человеческого фидбека пока не планируют, он останется в форме принципов и примеров демонстрации желаемых свойств во few-shot learning’е, но объёмы его существенно сократятся. Выглядит как scalable, посмотрим, докуда дойдёт.

Интересная работа, интересное направление развития, градус абстракции все повышается и вот уже инструкции на человеческом языке вполне позволяют оценивать другие модели. Определённо, английский -- язык программирования будущего! 🙂
👍23🤯4🔥2
Пока готовятся новые интересные обзоры...
2
😁52🐳5👍2🌚2👏1💯1
The AI Arms Race Is Changing Everything

https://time.com/6255952/ai-impact-chatgpt-microsoft-google/

Tech companies are moving fast on AI. That could prove catastrophic

https://time.com/magazine/
👍151
Мне кажется большую часть статьи можно пропустить, если вы знаете историю. Самая суть в нескольких последних абзацах:

"Inside the most cutting-edge AI labs, a few technicians are working to ensure that AIs, if they eventually surpass human intelligence, are “aligned” with human values. They are designing benevolent gods, not spiteful ones. But only around 80 to 120 researchers in the world are working full-time on AI alignment, according to an estimate shared with TIME by Conjecture, an AI-safety organization. Meanwhile, thousands of engineers are working on expanding capabilities as the AI arms race heats up.

“When it comes to very powerful technologies—and obviously AI is going to be one of the most powerful ever—we need to be careful,” Demis Hassabis, CEO of Google-owned AI lab DeepMind, told TIME late last year. “Not everybody is thinking about those things. It’s like experimentalists, many of whom don’t realize they’re holding dangerous material.”

Even if computer scientists succeed in making sure the AIs don’t wipe us out, their increasing centrality to the global economy could make the Big Tech companies who control it vastly more powerful. They could become not just the richest corporations in the world—charging whatever they want for commercial use of this critical infrastructure—but also geopolitical actors to rival nation-states.

The leaders of OpenAI and DeepMind have hinted that they’d like the wealth and power emanating from AI to be somehow redistributed. The Big Tech executives who control the purse strings, on the other hand, are primarily accountable to their shareholders.

Of course, many Silicon Valley technologies that promised to change the world haven’t. We’re not all living in the metaverse. Crypto bros who goaded nonadopters to “have fun staying poor” are nursing their losses or even languishing behind prison bars. The streets of cities around the world are littered with the detritus of failed e-scooter startups.

But while AI has been subject to a similar level of breathless hype, the difference is that the technology behind AI is already useful to consumers and getting better at a breakneck pace: AI’s computational power is doubling every six to 10 months, researchers say. It is exactly this immense power that makes the current moment so electrifying—and so dangerous."
👍28👎1
In case you didn't see it:
https://microscope.openai.com/models

OpenAI Microscope is a collection of visualizations of every significant layer and neuron of several common “model organisms” which are often studied in interpretability. Microscope makes it easier to analyze the features that form inside these neural networks, and we hope it will help the research community as we move towards understanding these complicated systems.
👍15🔥9🥰3
Отойдём ещё немного от классического формата про статьи. На этот раз короткий фикшн!

Если вам нравится "Город перестановок" Грега Игана, или "Акселерандо" Чарльза Стросса, то, мне кажется, и это понравится.

Lena
2021-01-04 by qntm

MMAcevedo (Mnemonic Map/Acevedo), also known as Miguel, is the earliest executable image of a human brain. It is a snapshot of the living brain of neurology graduate Miguel Acevedo Álvarez (2010–2073), taken by researchers at the Uplift Laboratory at the University of New Mexico on August 1, 2031. Though it was not the first successful snapshot taken of the living state of a human brain, it was the first to be captured with sufficient fidelity that it could be run in simulation on computer hardware without succumbing to cascading errors and rapidly crashing. The original MMAcevedo file was 974.3PiB in size and was encoded in the then-cutting-edge, high-resolution MYBB format. More modern brain compression techniques, many of them developed with direct reference to the MMAcevedo image, have compressed the image to 6.75TiB losslessly. In modern brain emulation circles, streamlined, lossily-compressed versions of MMAcevedo run to less than a tebibyte. These versions typically omit large amounts of state data which are more easily supplied by the virtualisation environment, and most if not all of Acevedo's memories.

Далее тут:
https://qntm.org/mmacevedo
🔥13👍21👏1
[Meta AI] Toolformer: Language Models Can Teach Themselves to Use Tools
Timo Schick, Jane Dwivedi-Yu, Roberto Dessì, Roberta Raileanu, Maria Lomeli, Luke Zettlemoyer, Nicola Cancedda, Thomas Scialom
Статья: https://arxiv.org/abs/2302.04761

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

Как например с вычислениями. Языковые модели демонстрируют такие возможности, но не очень стабильно, и если можно в нужные моменты подключить гарантированно работающий тул, то грех, конечно, так не сделать.

Или со свежими и точными фактами. Можно долго учить модель в надежде, что не будет врать и фантазировать, но всё равно гарантий нет, да и всегда есть отсечка по дате, новые факты, появившиеся после обучения модели, добавить в неё сложно. Поэтому хождение в поиск или во внешнюю knowledge base любого вида потенциально очень полезно.

Короче, берём лучшее из двух миров. Плохо формализуемые вещи обучаем, простые алгоритмические даём в виде готовых средств. Тема уже не новая, та же LaMDA (https://news.1rj.ru/str/gonzo_ML/1229) внутри себя использовала тулсет с калькулятором, поиском и переводчиком. Или ещё был TALM (Tool Augmented Language Models, https://arxiv.org/abs/2205.12255).

В данной работе специальная модель, Toolformer, обучается дёргать внешние API, решая когда это делать, что именно дёргать, с какими параметрами и как встраивать результат. Причём учится она в self-supervised режиме без большого количества человеческих аннотаций. И потерять других своих полезный свойств от этого модель не должна.

Входы и выходы API представляются текстом и описываются кортежом (ac, ic), где ac это имя апишки, а ic входные данные. Результат вызова апишки r. Для оформления таких вызовов используются словарные токены [”, “]” и “->”, так что строка с вызовом выглядит как “[ac(ic)]”, а строка с результатом как “[ac(ic)->r]”.

Процедура обучения построена следующим образом. В качестве базовой модели используется GPT-J с 6.7B параметров (https://github.com/kingoflolz/mesh-transformer-jax#zero-shot-evaluations). На входе есть некий датасет текстов (подмножество CCNet). Он конвертится в датасет, аугментированный вызовами апишек. Это делается в три шага:

1. Модель сэмплит вызовы потенциальных апишек через примеры, заданные в in-context learning (внутри промпта).

Есть набор заранее заданных через промпты потенциальных апишек: Question Answering (файнтюненный на Natural Questions retrieval-augmented Atlas, https://arxiv.org/abs/2208.03299), Calculator (просто четыре базовые операции), Wikipedia Search (специальный поисковик, выдающий сниппеты по википедии через BM25 retriever), Machine Translation (NLLB 600M, https://arxiv.org/abs/2207.04672), Calendar (просто возвращает текущую дату для контексту). То есть не проблема добавить по своим примерам другие апишки.

Далее для каждой позиции текста на входе вычисляется вероятность генерации токена “[“, задающего начало API вызова. Оставляются все позиции, для которых такая вероятность выше заданного порога (в работе τs = 0.05) и только топовые k=5 из них.

Далее для каждой позиции сэмплятся возможные имена апишек (m = 5).

Кое-где применялись эвристики, чтобы быстрее понимать, нужно ли дёргать какую-то апишку. Например, калькулятор не рассматривается, если в тексте было меньше трёх цифр.

2. Выполняются вызовы апишек.

Тут ничего особенного, специальный внешний код на питоне делает что надо и возвращает результат.

3. Результат вызова фильтруется по критерию помощи в предсказании следующего токена (стандартная задача обучения языковой модели).
👍6👏42🔥1
Для этого считаются два взвешенных кросс-энтропийныйх лосса.
- (L+) лосс для генерации имеющейся последовательности при условии, что вызов апишки и его результат были даны модели как префикс (важно, что они именно как префикс, а не добавляются в саму строку, потому что последний вариант скорее всего навредит метрике, поскольку модель не обучалась на строках с вызовами апи).
- (L-) лосс берётся как минимум между лоссом просто строки с пустым префиксом, и лоссом строки с префиксом вызова апишки, но без её результата.

Если разница (L-) - (L+) больше заданного порога (τf = 1.0), то такой вызов значимо уменьшает лосс и полезен. Вызовы, не прошедшие такой порог, убираются.

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

В зависимости от порога и типа апишки получились тысячи и десятки тысяч вызовов.

Во время инференса мы обнаруживаем, что модель начала генерить последовательность вызова апишки, и после токена “->” приостанавливаем генерацию, дёргаем апишку, и вставляем в строку её результат с закрывающим токеном “]”, после чего продолжаем генерацию.

Обученную модель проверяли в режиме prompted zero-shot, то есть чисто промпт без примеров. Доп.модификация также разрешала модели дёргать апишку не только в случае, когда токен начала API-вызова имел максимальную вероятность, но и когда он был среди 10 наиболее вероятных.

Посравнивались на подмножествах SQuAD, GoogleRE и T-REx из бенчмарка LAMA. Toolformer значительно лучше базовых GPT-J, а также более крупных OPT (66B) и
GPT-3 (175B).

На датасетах с математическими задачками он также существенно лучше. Что забавно, там также неплохо прокачался и Toolformer с отключенными вызовами апишек, видимо во время дообучения прокачал свои математические способности.

На QA он слабее самого большого GPT-3, но заметно выше соразмерных бейзлайнов, а также лучше OPT.

На MLQA не везде лучше базового GPT-J, но что интересно большие OPT и GPT-3 здесь тоже заметно хуже маленького GPT-J, вероятно потому что GPT-J обучался на более мультиязычном корпусе.

На темпоральных датасетах из TempLAMA (где ответ меняется со временем) модель также очень хороша по сравнению с бейзлайнами.

Perplexity на задаче языкового моделирования от добавления апишек особо не просело.

Также поглядели на каком размере модели способность использовать апишки начинает работать, оказалось что начиная с модели на 775M.

Работать ещё есть над чем. Текущая модель пока не умеет делать цепочки вызова тулов, не может также интерактивно работать с тулом (например, уточнять запрос или браузить по страницам выдачи). В целом подход пока ещё sample-inefficient, на датасете из 1M+ документов он обнаруживает лишь несколько тысяч примеров полезного использования калькулятора.

Но направление всё равно интересное, особенно когда нормально работает не с супер гигантской моделью.
👍222