gonzo-обзоры ML статей
А вот это вот интересная история. Мы померяли качество перевода с помощью GPT-4 (как недавно делали это для ChatGPT, а ранее для GPT-3). И на этот раз GPT показала вообще лучший результат для пары en-es, и второй лучший для en-de на general domain. На специальных…
Ещё хочется сказать, что в 2021-м мы предсказывали появление prompting translation model (https://blog.inten.to/2021-breakthroughs-in-machine-translation-technology-and-what-to-expect-in-2022-ba5fb2eedf16).
Так вот это оно.
Так вот это оно.
Medium
2021 Breakthroughs in Machine Translation Technology, and What to Expect in 2022
2021 has been one of the most game-changing years the machine translation landscape has experienced. We saw new MT providers enter the…
🔥7👍1
gonzo-обзоры ML статей
[Stanford] Alpaca: A Strong, Replicable Instruction-Following Model Rohan Taori, Ishaan Gulrajani, Tianyi Zhang, Yann Dubois, Xuechen Li, Carlos Guestrin, Percy Liang, Tatsunori B. Hashimoto Статья: https://crfm.stanford.edu/2023/03/13/alpaca.html Repo: …
Ещё интересная новость. HuggingFace сделал на базе llama.cpp код для запуска моделей BLOOM из чистых сей/плюсов: https://github.com/NouamaneTazi/bloomz.cpp
Обещают:
🔥 Run BLOOM on your Mac or your Pixel phone
🌍 Run multilingual models
⚡️ Achieve super fast results (16 tokens/sec on M1 Pro!)
https://www.linkedin.com/feed/update/urn:li:share:7042098915638136832/
Обещают:
🔥 Run BLOOM on your Mac or your Pixel phone
🌍 Run multilingual models
⚡️ Achieve super fast results (16 tokens/sec on M1 Pro!)
https://www.linkedin.com/feed/update/urn:li:share:7042098915638136832/
GitHub
GitHub - NouamaneTazi/bloomz.cpp: C++ implementation for BLOOM
C++ implementation for BLOOM. Contribute to NouamaneTazi/bloomz.cpp development by creating an account on GitHub.
🔥26👍2
gonzo-обзоры ML статей
Ещё интересная новость. HuggingFace сделал на базе llama.cpp код для запуска моделей BLOOM из чистых сей/плюсов: https://github.com/NouamaneTazi/bloomz.cpp Обещают: 🔥 Run BLOOM on your Mac or your Pixel phone 🌍 Run multilingual models ⚡️ Achieve super fast…
Ну и до кучи alpaca.cpp
https://github.com/antimatter15/alpaca.cpp
https://github.com/antimatter15/alpaca.cpp
GitHub
GitHub - antimatter15/alpaca.cpp: Locally run an Instruction-Tuned Chat-Style LLM
Locally run an Instruction-Tuned Chat-Style LLM . Contribute to antimatter15/alpaca.cpp development by creating an account on GitHub.
👍6
Ещё не пятница, но...
Тестовый пост. Суммаризировали "Электрувер Трурля" на английском через GPT-4, а потом развернули обратно в рассказ через GPT-4 и Bard.
Ну, местами забавно.
Заодно попробовал substack.
https://gonzoml.substack.com/p/the-generative-cyberiad
Тестовый пост. Суммаризировали "Электрувер Трурля" на английском через GPT-4, а потом развернули обратно в рассказ через GPT-4 и Bard.
Ну, местами забавно.
Заодно попробовал substack.
https://gonzoml.substack.com/p/the-generative-cyberiad
Gonzo ML
The Generative Cyberiad
How GPT-4 and Bard write a story about the electronic bard.
👍15😁5
Подборка на почитать в выходные
1. Билл Гейтс про новую технологическую революцию и начало эры AI (https://www.gatesnotes.com/The-Age-of-AI-Has-Begun). Странно, правда, что первой революцией он назвал GUI, второй AI, а про Интернет умолчал. Но мы же помним, как он в какой-то момент быстро туда побежал догонять и перегонять Netscape.
2. Microsoft поделился своими наблюдениями по исследованию интеллекта GPT-4 в статье “Sparks of Artificial General Intelligence: Early experiments with GPT-4” (https://arxiv.org/abs/2303.12712).
3. Большая статья про то, что гонка за AI началась, но её стоит остановить (https://www.vox.com/the-highlight/23621198/artificial-intelligence-chatgpt-openai-existential-risk-china-ai-safety-technology).
4. Jaron Lanier про AI и вообще (https://www.theguardian.com/technology/2023/mar/23/tech-guru-jaron-lanier-the-danger-isnt-that-ai-destroys-us-its-that-it-drives-us-insane).
5. LLM -- это новые CPU, но вот Intel ли OpenAI… (https://every.to/divinations/llms-are-the-new-cpus).
6. Харари про то, что нам нельзя продуть "If We Don’t Master A.I., It Will Master Us" (https://webcache.googleusercontent.com/search?q=cache:hIN9AmrxIuMJ:https://www.nytimes.com/2023/03/24/opinion/yuval-harari-ai-chatgpt.amp.html&cd=1&hl=en&ct=clnk&gl=id)
1. Билл Гейтс про новую технологическую революцию и начало эры AI (https://www.gatesnotes.com/The-Age-of-AI-Has-Begun). Странно, правда, что первой революцией он назвал GUI, второй AI, а про Интернет умолчал. Но мы же помним, как он в какой-то момент быстро туда побежал догонять и перегонять Netscape.
2. Microsoft поделился своими наблюдениями по исследованию интеллекта GPT-4 в статье “Sparks of Artificial General Intelligence: Early experiments with GPT-4” (https://arxiv.org/abs/2303.12712).
3. Большая статья про то, что гонка за AI началась, но её стоит остановить (https://www.vox.com/the-highlight/23621198/artificial-intelligence-chatgpt-openai-existential-risk-china-ai-safety-technology).
4. Jaron Lanier про AI и вообще (https://www.theguardian.com/technology/2023/mar/23/tech-guru-jaron-lanier-the-danger-isnt-that-ai-destroys-us-its-that-it-drives-us-insane).
5. LLM -- это новые CPU, но вот Intel ли OpenAI… (https://every.to/divinations/llms-are-the-new-cpus).
6. Харари про то, что нам нельзя продуть "If We Don’t Master A.I., It Will Master Us" (https://webcache.googleusercontent.com/search?q=cache:hIN9AmrxIuMJ:https://www.nytimes.com/2023/03/24/opinion/yuval-harari-ai-chatgpt.amp.html&cd=1&hl=en&ct=clnk&gl=id)
gatesnotes.com
Artificial intelligence and our future | Bill Gates
Bill Gates explains why AI is as revolutionary as personal computers, mobile phones, and the Internet, and he gives three principles for how to think about it.
👍17🔥6❤1
Прекрасное субботнее:
"Crab-Based Transport"
https://www.facebook.com/groups/aiartuniverse/permalink/767584688340101/
"Crab-Based Transport"
https://www.facebook.com/groups/aiartuniverse/permalink/767584688340101/
Facebook
Log in or sign up to view
See posts, photos and more on Facebook.
[S4] Efficiently Modeling Long Sequences with Structured State Spaces
Albert Gu, Karan Goel, Christopher Ré
Статья: https://arxiv.org/abs/2111.00396
Давно мы не писали про RNN, последний раз, кажется, это было про LEM (https://news.1rj.ru/str/gonzo_ML/857). Тогда также хотелось написать про State Space Models (SSM) и их ярких представителей в лице HiPPO и S4, но началась война и стало не до этого. Тема важная, хочется к ней таки вернуться.
Работа про S4 была принята на мою любимую конференцию ICLR в 2022 году и получила там Outstanding Paper Honorable Mentions (https://blog.iclr.cc/2022/04/20/announcing-the-iclr-2022-outstanding-paper-award-recipients/).
Есть большая проблема с моделированием длинных последовательностей. Длинные, это типа 10к элементов и больше. Ныне рулящие трансформеры по-прежнему испытывают с этим проблемы, в первую очередь благодаря квадратичной сложности механизма внимания (правда, есть куча неквадратичных механизмов, про многие из которых мы писали, например, https://news.1rj.ru/str/gonzo_ML/404 и далее по ссылкам).
На эту тему есть бенчмарк Long Range Arena (LRA, https://paperswithcode.com/sota/long-range-modeling-on-lra), где рулят в целом не трансформеры (но лидером там всё же теперь свежий скорее-трансформер одноголовый Mega, https://arxiv.org/abs/2209.10655).
Было много заходов на решение проблемы моделирования реально длинных последовательностей, и один из свежих это как раз state space model (SSM).
SSM описывается уравнениями:
x′(t)=Ax(t)+Bu(t)
y(t)=Cx(t)+Du(t)
где u(t) -- входной сигнал, x(t) -- n-мерное латентное представление, y(t) выходной сигнал, а A,B,C и D -- обучаемые матрицы.
В работе D считается равным нулю, потому что это аналог skip-connection и его легко вычислить.
На практике такая модель работает плохо, потому что решение такой ODE ведёт к экспоненциальной функции со всеми знакомыми по RNN прелестями в виде vanishing/exploding gradients.
Фреймворк HiPPO с NeurIPS 2020 (https://arxiv.org/abs/2008.07669) предлагает специальный класс матриц A, позволяющих лучше запоминать историю входных данных. Самая важная матрица этого класса, называемая HiPPO Matrix, выглядит так:
/ (2n + 1)^1/2 * (2k + 1)^1/2 if n > k
A_nk = − { n + 1 if n = k
\ 0 if n < k
Замена в SSM случайной матрицы A на эту приводит к улучшению результата на sequential MNIST с 60% to 98%.
Это было непрерывное описание, а чтобы применить его к дискретным входам, SSM надо дискретизировать с шагом Δ и входной сигнал будет сэмплиться с этим шагом. Для этого используется билинейный метод, заменяющий матрицу A на её аппроксимацию
x_k = Ax_k−1 + Bu_k
y_k = Cx_k
A = (I − ∆/2 · A)^−1 * (I + ∆/2 · A)
B = (I − ∆/2 · A)^ −1 * ∆B
C = C.
Уравнения состояния теперь рекуррентная формула с x_k по типу RNN, а сам x_k может рассматриваться как скрытое состояние с матрицей перехода A.
И есть ещё отдельный хак, что такую рекуррентную формулу можно развернуть и заменить на свёртку (с ядром K) размером в длину последовательности, но эту формулу я тут приводить не буду, потому что текстом она выглядит не очень. Такое можно быстро считать на современном железе.
Боттлнек discrete-time SSM в том, что надо многократно умножать на матрицу A.
Текущая работа предлагает расширение и улучшение SSM под названием Structured State Spaces (S4). Предлагается новая параметризация, где матрица A (которая HiPPO) раскладывается в сумму низкорангового и нормального (https://en.wikipedia.org/wiki/Normal_matrix) терма, Normal Plus Low-Rank (NPLR).
В дополнение к этому применяются ещё несколько техник: truncated SSM generating function + Cauchy kernel + применение Woodbury identity + подсчёт спектра ядра свёртки через truncated generating function + обратное БПФ, за подробностями и доказательствами вэлкам в статью. Доказывается, что у всех HiPPO матриц есть NPLR представление, и что свёрточный фильтр SSM можно вычислить за O(N + L) операций и памяти (и это главный технический контрибьюшн статьи).
Albert Gu, Karan Goel, Christopher Ré
Статья: https://arxiv.org/abs/2111.00396
Давно мы не писали про RNN, последний раз, кажется, это было про LEM (https://news.1rj.ru/str/gonzo_ML/857). Тогда также хотелось написать про State Space Models (SSM) и их ярких представителей в лице HiPPO и S4, но началась война и стало не до этого. Тема важная, хочется к ней таки вернуться.
Работа про S4 была принята на мою любимую конференцию ICLR в 2022 году и получила там Outstanding Paper Honorable Mentions (https://blog.iclr.cc/2022/04/20/announcing-the-iclr-2022-outstanding-paper-award-recipients/).
Есть большая проблема с моделированием длинных последовательностей. Длинные, это типа 10к элементов и больше. Ныне рулящие трансформеры по-прежнему испытывают с этим проблемы, в первую очередь благодаря квадратичной сложности механизма внимания (правда, есть куча неквадратичных механизмов, про многие из которых мы писали, например, https://news.1rj.ru/str/gonzo_ML/404 и далее по ссылкам).
На эту тему есть бенчмарк Long Range Arena (LRA, https://paperswithcode.com/sota/long-range-modeling-on-lra), где рулят в целом не трансформеры (но лидером там всё же теперь свежий скорее-трансформер одноголовый Mega, https://arxiv.org/abs/2209.10655).
Было много заходов на решение проблемы моделирования реально длинных последовательностей, и один из свежих это как раз state space model (SSM).
SSM описывается уравнениями:
x′(t)=Ax(t)+Bu(t)
y(t)=Cx(t)+Du(t)
где u(t) -- входной сигнал, x(t) -- n-мерное латентное представление, y(t) выходной сигнал, а A,B,C и D -- обучаемые матрицы.
В работе D считается равным нулю, потому что это аналог skip-connection и его легко вычислить.
На практике такая модель работает плохо, потому что решение такой ODE ведёт к экспоненциальной функции со всеми знакомыми по RNN прелестями в виде vanishing/exploding gradients.
Фреймворк HiPPO с NeurIPS 2020 (https://arxiv.org/abs/2008.07669) предлагает специальный класс матриц A, позволяющих лучше запоминать историю входных данных. Самая важная матрица этого класса, называемая HiPPO Matrix, выглядит так:
/ (2n + 1)^1/2 * (2k + 1)^1/2 if n > k
A_nk = − { n + 1 if n = k
\ 0 if n < k
Замена в SSM случайной матрицы A на эту приводит к улучшению результата на sequential MNIST с 60% to 98%.
Это было непрерывное описание, а чтобы применить его к дискретным входам, SSM надо дискретизировать с шагом Δ и входной сигнал будет сэмплиться с этим шагом. Для этого используется билинейный метод, заменяющий матрицу A на её аппроксимацию
x_k = Ax_k−1 + Bu_k
y_k = Cx_k
A = (I − ∆/2 · A)^−1 * (I + ∆/2 · A)
B = (I − ∆/2 · A)^ −1 * ∆B
C = C.
Уравнения состояния теперь рекуррентная формула с x_k по типу RNN, а сам x_k может рассматриваться как скрытое состояние с матрицей перехода A.
И есть ещё отдельный хак, что такую рекуррентную формулу можно развернуть и заменить на свёртку (с ядром K) размером в длину последовательности, но эту формулу я тут приводить не буду, потому что текстом она выглядит не очень. Такое можно быстро считать на современном железе.
Боттлнек discrete-time SSM в том, что надо многократно умножать на матрицу A.
Текущая работа предлагает расширение и улучшение SSM под названием Structured State Spaces (S4). Предлагается новая параметризация, где матрица A (которая HiPPO) раскладывается в сумму низкорангового и нормального (https://en.wikipedia.org/wiki/Normal_matrix) терма, Normal Plus Low-Rank (NPLR).
В дополнение к этому применяются ещё несколько техник: truncated SSM generating function + Cauchy kernel + применение Woodbury identity + подсчёт спектра ядра свёртки через truncated generating function + обратное БПФ, за подробностями и доказательствами вэлкам в статью. Доказывается, что у всех HiPPO матриц есть NPLR представление, и что свёрточный фильтр SSM можно вычислить за O(N + L) операций и памяти (и это главный технический контрибьюшн статьи).
Telegram
gonzo-обзоры ML статей
Long Expressive Memory for Sequence Modeling
T. Konstantin Rusch, Siddhartha Mishra, N. Benjamin Erichson, Michael W. Mahoney
Статья: https://arxiv.org/abs/2110.04744
Код: https://github.com/tk-rusch/LEM
Нельзя было пройти мимо модели под названием LEM.…
T. Konstantin Rusch, Siddhartha Mishra, N. Benjamin Erichson, Michael W. Mahoney
Статья: https://arxiv.org/abs/2110.04744
Код: https://github.com/tk-rusch/LEM
Нельзя было пройти мимо модели под названием LEM.…
👍22❤6🕊1
Дефолтный S4 работает на одной входной и выходной чиселке, а в реальности для DNN обычно нужны многомерные векторы. Чтобы поддержать работу не с одной фичей, а со множеством (H штук), делается H независимых копий S4, а H фичей замешиваются через position-wise linear layer (то есть, так понимаю, для каждой фичи свой такой слой, смотрящий на все остальные фичи). Это также похоже на depthwise-separable convolutions, а вся глубокая (многослойная) S4 близка к depthwise-separable CNN с глобальным ядром свёртки.
По дефолту также преобразование линейное, но добавление нелинейных преобразований между слоями делает всю глубокую SSM нелинейной.
Полученную S4 сравнивают с LSSL (Linear State-Space Layer, те же авторы, https://arxiv.org/abs/2110.13985) и S4 многократно лучше, и c эффективными трансформерами (сравнима с Performer или Linear Transformer).
На LRA на момент публикации порвала с дюжину разных эффективных трансформеров. Стандартный неэффективный тоже (хотя он по качеству неплох, но по скорости и памяти ужасен). С момента первой публикации статью ещё проапдейтили и ещё улучшили результаты S4.
Среди прочего S4 решил задачу Path-X, которую до него не решали. В этой задаче надо определять, соединены ли две точки путём на картинке 128x128, что приводит после разворачивания картинки к последовательности длины 16384. В свёртках при этом выучиваются какие-то интересные паттерны с “пониманием” двумерных данных.
Также проверялись на подмножестве задач SC10 из Speech Commands dataset. Фич хитрых при этом не использовали, работали с raw speech длины 16k и достигли 98.3% accuracy и побили методы использующие MFCC фичи.
Среди других задач был бенчмарк WikiText-103, там рулили трансформеры, и S4 их не обогнала, но зато при замене self-attention на S4 разница в perplexity получается всего 0.8, а скорость инференса при этом в 60 раз выше. Сейчас в моменте, кстати, на этом бенчмарке лидер H3 от этих же авторов или “Hungry Hungry Hippos: Towards Language Modeling with State Space Models” (https://arxiv.org/abs/2212.14052), принятая на ICLR 2023.
На задачах предсказания временных рядов сравнивались с Informer (специальный трансформер для time-series, про него тоже так и не успел написать, но может быть …) и другими бейзлайнами. S4 рулит вообще.
Провели интересные абляции, показали, что инициализация HiPPO очень важна, сильно бьёт гауссовую и по скорости обучения, и по финальному качеству.
В общем, среди SSM сейчас полно очень сильных представителей, тема достойна широкого внимания.
Другие ссылки в тему:
- “The Annotated S4” с кодом на JAX: https://srush.github.io/annotated-s4/
- Рассказ от одного из авторов: https://www.youtube.com/watch?v=EvQ3ncuriCM
- Ещё один разбор с фокусом на JAX: https://www.youtube.com/watch?v=GqwhkbrWDOI
- Код с имплементациями разных SSSM: https://github.com/HazyResearch/state-spaces
По дефолту также преобразование линейное, но добавление нелинейных преобразований между слоями делает всю глубокую SSM нелинейной.
Полученную S4 сравнивают с LSSL (Linear State-Space Layer, те же авторы, https://arxiv.org/abs/2110.13985) и S4 многократно лучше, и c эффективными трансформерами (сравнима с Performer или Linear Transformer).
На LRA на момент публикации порвала с дюжину разных эффективных трансформеров. Стандартный неэффективный тоже (хотя он по качеству неплох, но по скорости и памяти ужасен). С момента первой публикации статью ещё проапдейтили и ещё улучшили результаты S4.
Среди прочего S4 решил задачу Path-X, которую до него не решали. В этой задаче надо определять, соединены ли две точки путём на картинке 128x128, что приводит после разворачивания картинки к последовательности длины 16384. В свёртках при этом выучиваются какие-то интересные паттерны с “пониманием” двумерных данных.
Также проверялись на подмножестве задач SC10 из Speech Commands dataset. Фич хитрых при этом не использовали, работали с raw speech длины 16k и достигли 98.3% accuracy и побили методы использующие MFCC фичи.
Среди других задач был бенчмарк WikiText-103, там рулили трансформеры, и S4 их не обогнала, но зато при замене self-attention на S4 разница в perplexity получается всего 0.8, а скорость инференса при этом в 60 раз выше. Сейчас в моменте, кстати, на этом бенчмарке лидер H3 от этих же авторов или “Hungry Hungry Hippos: Towards Language Modeling with State Space Models” (https://arxiv.org/abs/2212.14052), принятая на ICLR 2023.
На задачах предсказания временных рядов сравнивались с Informer (специальный трансформер для time-series, про него тоже так и не успел написать, но может быть …) и другими бейзлайнами. S4 рулит вообще.
Провели интересные абляции, показали, что инициализация HiPPO очень важна, сильно бьёт гауссовую и по скорости обучения, и по финальному качеству.
В общем, среди SSM сейчас полно очень сильных представителей, тема достойна широкого внимания.
Другие ссылки в тему:
- “The Annotated S4” с кодом на JAX: https://srush.github.io/annotated-s4/
- Рассказ от одного из авторов: https://www.youtube.com/watch?v=EvQ3ncuriCM
- Ещё один разбор с фокусом на JAX: https://www.youtube.com/watch?v=GqwhkbrWDOI
- Код с имплементациями разных SSSM: https://github.com/HazyResearch/state-spaces
arXiv.org
Combining Recurrent, Convolutional, and Continuous-time Models...
Recurrent neural networks (RNNs), temporal convolutions, and neural differential equations (NDEs) are popular families of deep learning models for time-series data, each with unique strengths and...
👍14❤2🔥2