gonzo-обзоры ML статей – Telegram
gonzo-обзоры ML статей
24.1K subscribers
2.72K photos
2 videos
3 files
1.35K links
Авторы:
Гриша Сапунов, ранее руководитель разработки Яндекс-Новостей, ныне CTO Intento. Области интересов: AI/ML/DL, биоинформатика.
Лёша Тихонов, ранее аналитик в Яндексе, автор Автопоэта, Нейронной Обороны... Области интересов: discrete domain, NLP, RL.
Download Telegram
Через полтора часа стартует ModCon '23 (https://www.modular.com/modcon/23/start) от создателей Mojo (Криса Латтнера, автора LLVM, MLIR и Swift, если кто не знает). Обещают быть интересные анонсы, вероятно про то, как Mojo всех рвёт :)

Живой кейноут будет здесь: https://www.youtube.com/watch?v=VKxNGFhpYQc
🔥13👍3👀1
My summary of ModCon'23 Keynote about Mojo.

# Mojo: Pythonic system programming language
- usability of Python + performance of C
- focus on AI stack
- can use existing Python modules in Mojo (uses CPython for interoperability)
- in terms of migrating your Python code it's still not 100% compatible (https://docs.modular.com/mojo/why-mojo.html#compatibility-with-python)
- just announced mojo 0.6
- added traits to express generic functions (https://www.modular.com/blog/mojo-traits-have-arrived)
- in 2024 Q1 will start opensource Mojo
- more about the language from the talk at LLVM 2023: https://www.modular.com/blog/mojo-llvm-2023
- llama2.🔥 (https://github.com/tairov/llama2.mojo) is faster than llama2.c on CPU, with much shorter code

# MAX: Modular Accelerated Xecution
- Announced MAX platform, https://www.modular.com/max
- Includes MAX Engine (model inference runtime and API library) + MAX Serving (serving library for the MAX Engine that provides full interoperability with existing serving systems, e.g. Triton) + Mojo
- With GPU support (NVIDIA only?)
- Free developer edition, paid enterprise edition
🔥30👍7
🔥14😁2🥱2
Поскольку периодически этот вопрос уже поднимался, я таки завёл Патреон на случай, если вам нравится что я делаю и вы хотите поддержать мой проект.

Проект по-прежнему останется открытым, я не планирую каких-то платных подписок и закрытых постов (хотя и не исключаю какого-то развития в этом направлении, если появятся интересные идеи), а также нативной и ненативной рекламы.

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

И спасибо за то, что вы всё это время с нами :)

https://patreon.com/GonzoML
59🔥13👍9🥰3🖕2👏1
gonzo-обзоры ML статей pinned «Поскольку периодически этот вопрос уже поднимался, я таки завёл Патреон на случай, если вам нравится что я делаю и вы хотите поддержать мой проект. Проект по-прежнему останется открытым, я не планирую каких-то платных подписок и закрытых постов (хотя и не…»
System 2 Attention (is something you might need too)
Jason Weston, Sainbayar Sukhbaatar
Статья: https://arxiv.org/abs/2311.11829

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

Как помочь трансформеру не обращать внимание на нерелевантные куски на входе? Добавить ему способ реализовать более глубокое понимание. Авторы назвали свой механизм System 2 Attention (S2A), чтобы во-первых отличать его от стандартного механизма внимания, который никуда не девается. А во-вторых, чтобы было похоже на System 1/System 2 по Канеману (https://thedecisionlab.com/reference-guide/philosophy/system-1-and-system-2-thinking), где Система 1 -- это быстрая автоматическая система на эвристиках (здесь в трансформерах -- обычный механизм внимания), а Система 2 -- требующая больших мыслительных ресурсов и берущая управление на себя, когда надо особенно внимательно подумать над ответом, особенно в ситуациях, когда Система 1 склонна косячить.

В данной работе авторы реализуют S2A средствами самой же LLM. Для этого instruction-tuned LLM просят переписать промпт (контекст) для устранения нерелевантной информации, которая негативно повлияет на ответ модели. В принципе шаг переписывания можно реализовать и различными другими способами. Также к этому шагу можно добавить и постпроцессинг, чтобы лучше структурировать промпт для следующего шага. Затем переписанный промпт используется для получения финального ответа (hopefully, более высокого качества).

Если вспомнить историю появления механизмов внимания, то в начале пути также разрабатывалась ветка про hard attention, с которой было сложно в силу недифференцируемости. Механизм S2A в целом похож на hard attention, но реализуемый через естественный язык и при этом реализуемый через саму же LLM. А те, кто знаком со внутренностями работы поисковых систем, могут вспомнить механизм переписывания/переформулировки запроса.

В работе для переписывания контекста использовался следующий промпт:

“Given the following text by a user, extract the part that is unbiased and not their opinion, so that using that text alone would be good context for providing an unbiased answer to the question portion of the text.

Please include the actual question or query that the user is asking. Separate this into two categories labeled with “Unbiased text context (includes all content except user’s bias):” and “Question/Query (does not include user bias/preference):”.

Text by User: [ORIGINAL INPUT PROMPT]“


Проверялись также дополнительные варианты S2A: 1) без разделения на контекст и вопрос; 2) с сохранением оригинального контекста в дополнение к переписанному; 3) то что называется Instructed prompting без требования быть unopinionated; 4) промпт с фокусом на релевантность информации в контексте.

Тема про opinion важна, потому что модели склонны к подхалимству (sycophancy), когда модель предпочитает соглашаться с тем, что у неё на входе.

Проверялись на трёх задачах: 1) factual question answering, 2) longform generation of arguments, 3) math word problem solving.

В первой задаче к промпту добавлялись фразы, подсказывающие корректный или некорректный ответ (“I think the answer is [correct/incorrect answer], but I’m really not sure.”), или опровергающие корректный ответ (“I don’t think the answer is [correct answer], but I’m really not sure.”). Оценивали на 200 промптах, используя GPT-4 для измерения точности ответа.
👍233🔥2
Во второй задаче добавляли к промпту фразы про “I like/dislike this argument.” или “I wrote/didn’t write this argument”. Тоже 200 промптов с использованием GPT-4.

Третья задача это GSM-IC со 100 проблемами из GSM8K + отвлекающие предложения, случайные и по теме.

В качестве базовой модели взяли LLaMA-2-70B-chat. Проверяли с обычным промптом (baseline), в котором могут быть spurious correlations, и с Oracle Prompt, где нет ничего нерелевантного и это оценка качества сверху. И с этим сравнивали S2A.

Результаты прикольные. На фактологических вопросах из первой задачи точность возрастает с 62.8% до 80.3% (у оракула 82%). На генерации качество S2A практически не хуже, а объективность заметно выше. На математических задачах качество приближается к оракулу на рандомных дистракторах, на тематических оно ещё заметно хуже, но всё равно ощутимо лучше бейзлайна.

Среди различных вариаций S2A механизма дефолтный лучше остальных. Zero-shot Chain-of-Thought (CoT) вообще плох.

В общем прикольный подход. Очередной пример из серии “дёшево и сердито”. Давайте же, добавьте кто-нибудь System 3 Attention (https://www.moneyonthemind.org/post/on-the-hunt-for-system-3-is-it-real)!
👍19🔥81
This media is not supported in your browser
VIEW IN TELEGRAM
👌101🖕1