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
# 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
Modular
Mojo vision | Modular
Our motivations and the design decisions that define the Mojo programming language
🔥30👍7
Поскольку периодически этот вопрос уже поднимался, я таки завёл Патреон на случай, если вам нравится что я делаю и вы хотите поддержать мой проект.
Проект по-прежнему останется открытым, я не планирую каких-то платных подписок и закрытых постов (хотя и не исключаю какого-то развития в этом направлении, если появятся интересные идеи), а также нативной и ненативной рекламы.
Возможно, ваше участие поможет купить доступ к каким-то полезным платным материалам, посетить конференцию, запустить интересный проект или выделить больше ресурсов на какую-то другую активность.
И спасибо за то, что вы всё это время с нами :)
https://patreon.com/GonzoML
Проект по-прежнему останется открытым, я не планирую каких-то платных подписок и закрытых постов (хотя и не исключаю какого-то развития в этом направлении, если появятся интересные идеи), а также нативной и ненативной рекламы.
Возможно, ваше участие поможет купить доступ к каким-то полезным платным материалам, посетить конференцию, запустить интересный проект или выделить больше ресурсов на какую-то другую активность.
И спасибо за то, что вы всё это время с нами :)
https://patreon.com/GonzoML
Patreon
Get more from GonzoML on Patreon
On modern ML in simple words
❤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 для измерения точности ответа.
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 для измерения точности ответа.
The Decision Lab
System 1 and System 2 Thinking - The Decision Lab
System 1 thinking is a near-instantaneous thinking process while System 2 thinking is slower and requires more effort.
👍23❤3🔥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)!
Третья задача это 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)!
Money on the Mind
On the Hunt for System 3 – Is it Real?
As Daniel Kahneman continues to stay in the spotlight, one of the theories mainly attributed to him (whether appropriately so or not), continues to receive attention: dual system reasoning. The idea that we have a “system 1” and a “system 2”.
For those…
For those…
👍19🔥8❤1
Meta закупила какое-то безумное количество GPU H100. Интересно, для чего именно.
https://www.tomshardware.com/tech-industry/nvidia-ai-and-hpc-gpu-sales-reportedly-approached-half-a-million-units-in-q3-thanks-to-meta-facebook
https://www.tomshardware.com/tech-industry/nvidia-ai-and-hpc-gpu-sales-reportedly-approached-half-a-million-units-in-q3-thanks-to-meta-facebook
Tom's Hardware
Nvidia sold half a million H100 AI GPUs in Q3 thanks to Meta, Facebook — lead times stretch up to 52 weeks: Report
Join the queue for Nvidia's top AI/HPC GPU.
🤯27❤2🕊2
Gemini announced!
Looks like the most capable GPT competitor with better multimodal capabilities.
Site: https://deepmind.google/technologies/gemini/#introduction
Blog: https://blog.google/technology/ai/google-gemini-ai/
Technical report: https://storage.googleapis.com/deepmind-media/gemini/gemini_1_report.pdf
Looks like the most capable GPT competitor with better multimodal capabilities.
Site: https://deepmind.google/technologies/gemini/#introduction
Blog: https://blog.google/technology/ai/google-gemini-ai/
Technical report: https://storage.googleapis.com/deepmind-media/gemini/gemini_1_report.pdf
Google DeepMind
Gemini 3
Gemini 3 is our most intelligent model yet. With state-of-the-art reasoning to help you learn, build, and plan anything.
🔥17❤1
В копилку хороших источников: The Information можно доверять (https://www.theinformation.com/articles/google-postpones-big-ai-launch-as-openai-zooms-ahead)
The Information
Google Preps Public Preview of Gemini AI After Postponing In-Person Launch Events
Update, Dec.4: After Google quietly scrapped a set of in-person events to launch Gemini, its biggest artificial intelligence initiative in a decade, the company has planned a virtual preview of the new AI as soon as this week, said a person with knowledge…
👍7