Это просто пир духа какой-то.
https://www.cerebras.net/blog/introducing-gigagpt-gpt-3-sized-models-in-565-lines-of-code/
GigaGPT is Cerebras’ implementation of Andrei Karpathy’s nanoGPT – the simplest and most compact code base to train and fine-tune GPT models. Whereas nanoGPT can train models in the 100M parameter range, gigaGPT trains models well over 100B parameters. We do this without introducing additional code or relying on third party frameworks – the entire repo is just 565 lines of code. Instead gigaGPT utilizes the large memory and compute capacity of Cerebras hardware to enable large scale training on vanilla torch.nn code. With no modifications, gigaGPT supports long context lengths and works with a variety of optimizers.
Но кажется только на железе Cerebras'а. Но всё равно прикольно, больше железных и облачных альтернатив!
https://www.cerebras.net/blog/introducing-gigagpt-gpt-3-sized-models-in-565-lines-of-code/
GigaGPT is Cerebras’ implementation of Andrei Karpathy’s nanoGPT – the simplest and most compact code base to train and fine-tune GPT models. Whereas nanoGPT can train models in the 100M parameter range, gigaGPT trains models well over 100B parameters. We do this without introducing additional code or relying on third party frameworks – the entire repo is just 565 lines of code. Instead gigaGPT utilizes the large memory and compute capacity of Cerebras hardware to enable large scale training on vanilla torch.nn code. With no modifications, gigaGPT supports long context lengths and works with a variety of optimizers.
Но кажется только на железе Cerebras'а. Но всё равно прикольно, больше железных и облачных альтернатив!
www.cerebras.ai
Introducing gigaGPT: GPT-3 sized models in 565 lines of code - Cerebras
GigaGPT is Cerebras’ implementation of Andrei Karpathy’s nanoGPT – the simplest and most compact code base to train and fine-tune GPT models.
🔥23👍2👎1
А кому надоели LLM, есть свежий лонгрид от Стивена нашего Вольфрама
https://writings.stephenwolfram.com/2023/12/observer-theory/
https://writings.stephenwolfram.com/2023/12/observer-theory/
Stephenwolfram
Observer Theory
Stephen Wolfram discusses building a general observer theory using discoveries from the Physics Project and NKS, including the ruliad. Read how the nature of observers is critical to determining the most fundamental laws we attribute to the universe.
🔥21🤡2❤1👎1
Продолжаем линию маленьких моделей, Microsoft анонсировал phi-2.
https://www.microsoft.com/en-us/research/blog/phi-2-the-surprising-power-of-small-language-models/
We are now releasing Phi-2, a 2.7 billion-parameter language model that demonstrates outstanding reasoning and language understanding capabilities, showcasing state-of-the-art performance among base language models with less than 13 billion parameters. On complex benchmarks Phi-2 matches or outperforms models up to 25x larger, thanks to new innovations in model scaling and training data curation.
Вопрос правда с лицензией. Предыдущие phi были чисто некоммерческими.
https://www.microsoft.com/en-us/research/blog/phi-2-the-surprising-power-of-small-language-models/
We are now releasing Phi-2, a 2.7 billion-parameter language model that demonstrates outstanding reasoning and language understanding capabilities, showcasing state-of-the-art performance among base language models with less than 13 billion parameters. On complex benchmarks Phi-2 matches or outperforms models up to 25x larger, thanks to new innovations in model scaling and training data curation.
Вопрос правда с лицензией. Предыдущие phi были чисто некоммерческими.
Microsoft Research
Phi-2: The surprising power of small language models
Phi-2 is now accessible on the Azure model catalog. Its compact size and new innovations in model scaling and training data curation make it ideal for exploration around mechanistic interpretability, safety improvements, and fine-tuning experimentation on…
👍14🔥10
И до кучи, вдруг кто пропустил Zephyr 3B (не 7B!)
https://stability.ai/news/stablelm-zephyr-3b-stability-llm
Правда она тоже некоммерческая :(
https://stability.ai/news/stablelm-zephyr-3b-stability-llm
Правда она тоже некоммерческая :(
Stability AI
Introducing Stable LM Zephyr 3B: A New Addition to Stable LM, Bringing Powerful LLM Assistants to Edge Devices — Stability AI
StableLM Zephyr 3B is a new chat model representing the latest iteration in our series of lightweight LLMs, preference tuned for instruction following and Q&A-type tasks.
🔥4
Gemini Pro начинает быть доступным (https://ai.google.dev/pricing).
Пока скорее на пощупать, pay-as-you-go будет позже. Ценник наконец-то в символах, а не токенах :)
Не самая интересная модель. GPT-4 (которая ещё не Turbo) бьёт недоступная пока Ultra, но как и ожидалось (https://news.1rj.ru/str/gonzo_ML/2118).
Пока скорее на пощупать, pay-as-you-go будет позже. Ценник наконец-то в символах, а не токенах :)
Не самая интересная модель. GPT-4 (которая ещё не Turbo) бьёт недоступная пока Ultra, но как и ожидалось (https://news.1rj.ru/str/gonzo_ML/2118).
Google AI for Developers
Gemini Developer API pricing | Gemini API | Google AI for Developers
👍13
Интересный пост Томаша Миколова
"Yesterday we received a Test of Time Award at NeurIPS for the word2vec paper from ten years ago. I'm really happy about it! I think it's the first "best paper" type of award I ever received. In fact, the original word2vec paper was rejected at the first ICLR conference in 2013 (despite the acceptance rate of around 70%), so it made me think how difficult it is for reviewers to predict future impact of research papers.
I've heard a lot of comments - both positive and negative - about word2vec during those years, and did not really comment online about it. Somehow I felt the research community is constantly flooded by propaganda-style PR from certain researchers who are hacking this way the citation counts and attention of others, and I did not want to be part of this. But after ten years, I think it could be entertaining to share some stories associated with this paper.
One frequent comment I've heard was that the code was difficult to understand to the point that some people thought I made it unreadable intentionally. But no, I'm not so evil :D The code ended up being over-optimized because I was waiting for many months for approval to publish it, and meanwhile I was trying to make it both faster and shorter. In fact, looking back, if there were not Greg and Jeff in the Brain team, I doubt I would ever get that approval - I think word2vec was likely the first widely known AI project that Google open-sourced.
There was also significant controversy around the GloVe project from Stanford NLP group that was published more than a year after word2vec. While it copied many tricks from our project, GloVe always felt like a step back to me: it was slower, required more memory, and the resulting vectors had lower quality than the original word2vec. However, it was published with word vectors pre-trained on much more data and thus gained a lot of popularity - although the comparison was really apples-to-oranges. We anyways did fix this later in the fastText project, where we did show that word2vec is much better than GloVe when trained on the same data.
I also received a lot of comments on the word analogies - from "I knew that too but forgot to publish it!" (Geoff Hinton, I believe you :) happens to everyone, and anyways I think everybody knows what the origin of Distributed Representations is) to "it's a total hack and I'm sure it doesn't work!" (random guys who didn't bother to read the papers and try it out themselves - including Ian Goodfellow raging about it on Twitter).
Despite word2vec being my most cited paper, I did never think of it as my most impactful project. In fact, word2vec code originally started as a subset of my previous project - RNNLM - which I think ended up forgotten too quickly. In my eyes, it was at least as revolutionary as AlexNet. Just to name ideas that were for the first time ever demonstrated within RNNLM already in 2010 (when it was still dark ages for deep learning): scalable training of recurrent neural networks (as I invented gradient clipping), first ever text generation from neural language model (I was showing examples of this since 2007), dynamic evaluation, character and sub-word level neural language modeling, neural language model adaptation (nowadays called fine-tuning), first publicly available LM benchmark (the modified Penn Treebank dataset - there really was nothing like this on the web when I started my PhD). I published the first ever study showing that neural nets beat n-gram language models increasingly more with more training data when everything is done correctly (today this sounds obvious, but back in the days this was widely considered impossible - even most Google guys did think that the more data you have, the more futile is to work on anything besides n-grams and smoothing techniques).
"Yesterday we received a Test of Time Award at NeurIPS for the word2vec paper from ten years ago. I'm really happy about it! I think it's the first "best paper" type of award I ever received. In fact, the original word2vec paper was rejected at the first ICLR conference in 2013 (despite the acceptance rate of around 70%), so it made me think how difficult it is for reviewers to predict future impact of research papers.
I've heard a lot of comments - both positive and negative - about word2vec during those years, and did not really comment online about it. Somehow I felt the research community is constantly flooded by propaganda-style PR from certain researchers who are hacking this way the citation counts and attention of others, and I did not want to be part of this. But after ten years, I think it could be entertaining to share some stories associated with this paper.
One frequent comment I've heard was that the code was difficult to understand to the point that some people thought I made it unreadable intentionally. But no, I'm not so evil :D The code ended up being over-optimized because I was waiting for many months for approval to publish it, and meanwhile I was trying to make it both faster and shorter. In fact, looking back, if there were not Greg and Jeff in the Brain team, I doubt I would ever get that approval - I think word2vec was likely the first widely known AI project that Google open-sourced.
There was also significant controversy around the GloVe project from Stanford NLP group that was published more than a year after word2vec. While it copied many tricks from our project, GloVe always felt like a step back to me: it was slower, required more memory, and the resulting vectors had lower quality than the original word2vec. However, it was published with word vectors pre-trained on much more data and thus gained a lot of popularity - although the comparison was really apples-to-oranges. We anyways did fix this later in the fastText project, where we did show that word2vec is much better than GloVe when trained on the same data.
I also received a lot of comments on the word analogies - from "I knew that too but forgot to publish it!" (Geoff Hinton, I believe you :) happens to everyone, and anyways I think everybody knows what the origin of Distributed Representations is) to "it's a total hack and I'm sure it doesn't work!" (random guys who didn't bother to read the papers and try it out themselves - including Ian Goodfellow raging about it on Twitter).
Despite word2vec being my most cited paper, I did never think of it as my most impactful project. In fact, word2vec code originally started as a subset of my previous project - RNNLM - which I think ended up forgotten too quickly. In my eyes, it was at least as revolutionary as AlexNet. Just to name ideas that were for the first time ever demonstrated within RNNLM already in 2010 (when it was still dark ages for deep learning): scalable training of recurrent neural networks (as I invented gradient clipping), first ever text generation from neural language model (I was showing examples of this since 2007), dynamic evaluation, character and sub-word level neural language modeling, neural language model adaptation (nowadays called fine-tuning), first publicly available LM benchmark (the modified Penn Treebank dataset - there really was nothing like this on the web when I started my PhD). I published the first ever study showing that neural nets beat n-gram language models increasingly more with more training data when everything is done correctly (today this sounds obvious, but back in the days this was widely considered impossible - even most Google guys did think that the more data you have, the more futile is to work on anything besides n-grams and smoothing techniques).
❤39👍5
It was really lucky for me to join Google Brain in 2012 where there were believers in large scale neural networks who allowed me to work on word2vec to demonstrate the potential. But I don't want to give the impression everything was always perfect - as a follow up project after word2vec, I wanted to popularize neural language models by improving Google Translate. I did start collaboration with Franz Och and his team, during which time I proposed a couple of models that could either complement the phrase-based machine translation, or even replace it. I came up (actually even before joining Google) with a really simple idea to do end-to-end translation by training a neural language model on pairs of sentences (say French - English), and then use the generation mode to produce translation after seeing the first sentence. It worked great on short sentences, but not so much on the longer ones. I discussed this project many times with others in Google Brain - mainly Quoc and Ilya - who took over this project after I moved to Facebook AI. I was quite negatively surprised when they ended up publishing my idea under now famous name "sequence to sequence" where not only I was not mentioned as a co-author, but in fact my former friends forgot to mention me also in the long Acknowledgement section, where they thanked personally pretty much every single person in Google Brain except me. This was the time when money started flowing massively into AI and every idea was worth gold. It was sad to see the deep learning community quickly turn into some sort of Game of Thrones. Money and power certainly corrupts people...
Anyhow, the interest in language models was growing maybe slowly over the years, but with the explosion of interest since ChatGPT was released it is really cool to see so many people finally making connection between AI and language. We're not there yet, and I personally believe we need to make new discoveries to push through generalization limits of neural models. We're certainly living in exciting times. But let's not put too much faith into individuals who want to monopolize technology that is based on the hard work of dozens, or even hundreds of scientists while making claims it's all for the good of humanity."
https://www.facebook.com/1533402400/posts/pfbid0ao3fqoznHoprc8FawH6p84bctobvpTPrrbwxtGUXmBz92CzWoG63U6VSjcWJCJJTl/
Anyhow, the interest in language models was growing maybe slowly over the years, but with the explosion of interest since ChatGPT was released it is really cool to see so many people finally making connection between AI and language. We're not there yet, and I personally believe we need to make new discoveries to push through generalization limits of neural models. We're certainly living in exciting times. But let's not put too much faith into individuals who want to monopolize technology that is based on the hard work of dozens, or even hundreds of scientists while making claims it's all for the good of humanity."
https://www.facebook.com/1533402400/posts/pfbid0ao3fqoznHoprc8FawH6p84bctobvpTPrrbwxtGUXmBz92CzWoG63U6VSjcWJCJJTl/
Facebook
Log in to Facebook
Log in to Facebook to start sharing and connecting with your friends, family and people you know.
❤62👍10🤔2
gonzo-обзоры ML статей
Свежих слухов подвезли :)
До кучи для тех, кто любит покопаться в слухах. Не знал про Arrakis :)
https://www.youtube.com/watch?v=vFazUQBZZt8
https://www.youtube.com/watch?v=vFazUQBZZt8
YouTube
Open AI Insider Just LEAKED GPT 4.5...
https://theaigrid.com/gpt-4-5-leak-my-thoughts-and-reflections/
💬 Access GPT-4 ,Claude-2 and more - chat.forefront.ai/?ref=theaigrid
🎤 Use the best AI Voice Creator - elevenlabs.io/?from=partnerscott3908
✉️ Join Our Weekly Newsletter - https://mailchi.…
💬 Access GPT-4 ,Claude-2 and more - chat.forefront.ai/?ref=theaigrid
🎤 Use the best AI Voice Creator - elevenlabs.io/?from=partnerscott3908
✉️ Join Our Weekly Newsletter - https://mailchi.…
Toward understanding the communication in sperm whales
Jacob Andreas, Gašper Beguš, Michael M. Bronstein, Roee Diamant, Denley Delaney, Shane Gero, Shafi Goldwasser, David F. Gruber, Sarah de Haas, Peter Malkin, Nikolay Pavlov, Roger Payne, Giovanni Petri, Daniela Rus, Pratyusha Sharma, Dan Tchernov, Pernille Tønnesen, Antonio Torralba, Daniel Vogt, Robert J. Wood
Статья: https://www.sciencedirect.com/science/article/pii/S2589004222006642
Сайт: https://www.projectceti.org/
Познакомился тут с Томом Мастиллом, автором книги “How to speak whale” (https://www.tommustill.com/how-to-speak-whale), узнал от него про проект CETI, Cetacean Translation Initiative (https://www.projectceti.org/), я его раньше как-то пропустил. Очень зачётный проект! Название, видимо, отсылка к SETI. Цель проекта -- понять коммуникацию кашалотов. После просмотра Аватара 2 как-то особенно хорошо легло 🙂
У проекта есть программная статья от середины прошлого года (июнь 2022) с родмэпом про то, как участники хотят добиться понимания китовой коммуникации (спойлер: с помощью ML и роботов!). Эта работа может стать шаблоном для понимания других существ, потому что киты -- достаточно хороший модельный организм с развитыми нейроанатомическими признаками, высокими когнитивными способностями, социальной структурой и дискретным кодированием на основе щелчков (clicks).
Для понимания языкоподобной коммуникации надо понять несколько вещей.
1) Каковы артикуляторные и перцептивные строительные блоки, которые можно надёжно производить и распознавать? Это аналог фонетики и фонологии.
2) Каковы правила композиции этих примитивов? Это аналог морфологии и синтаксиса.
3) Каковы правила интерпретации и присвоения смысла этим блокам? Аналог семантики.
4) Может быть также важно влияние контекста на смысл, это прагматика.
В идеале хочется иметь универсальный автоматизированный data-driven toolkit, который можно применять к нечеловеческой коммуникации. Пока его нет.
Применение ML очень сильно упирается в отсутствие больших датасетов для этих задач, и вопросы сбора данных (Record), а также их процессинга (Process), например, аннотирование с добавлением ID кита, составляют отдельную большую часть проекта. Другая часть -- декодирование средствами ML и создание коммуникационной модели китов (Decode). Финальная важная часть, Encode & Playback подразумевает интерактивное взаимодействие с китами и уточнение китовой языковой модели.
Китов изучать сложно, по сравнению с земными животными сильно другая экология и среда. Так, до 1957 года вообще не знали, что кашалоты умеют производить звуки, и только в 1970-х впервые поняли, что они используют их для коммуникации. Киты путешествуют на тысячи километров, живут вероятно более ста лет, причём по сути в трёхмерной среде, часто стабильными социальными группами, подолгу заботясь о детёнышах. Социальное обучение для них вероятно важнее индивидуального или генетически обусловленного поведения. Большая часть их коммуникации, видимо, одномодальная, через акустику. В зоне, куда проникает свет, также важно зрение.
Биоакустическая система кашалота эволюционировала как сенсорный орган, используемый для эхолокации и поиска добычи. Производимые китом щелчки по структуре состоят из нескольких импульсов с мощным первым импульсом и последующими с затухающей амплитудой (получающимися благодаря реверберации начального импульса в спермацетовом органе в носу кита -- кажется, это похоже на основной тон и форманты в человеческой речи, но с антропоцентризмом надо, конечно, поосторожнее).
Кроме эхолокации, этот же орган используется и для коммуникации, она состоит из коротких пакетов щелчков (<2 секунд) с интервалами (Inter-click intervals, ICI) и выделяемыми паттернами, которые называются кодами (codas). Кода состоит из 2-40 всенаправленных кликов. У разных групп китов свои диалекты, обычно у клана есть по крайней мере 20 разных код. Похоже, что в них содержится богатая информация об identity её источника, но в целом коммуникативные функции конкретных код остаются загадкой.
Jacob Andreas, Gašper Beguš, Michael M. Bronstein, Roee Diamant, Denley Delaney, Shane Gero, Shafi Goldwasser, David F. Gruber, Sarah de Haas, Peter Malkin, Nikolay Pavlov, Roger Payne, Giovanni Petri, Daniela Rus, Pratyusha Sharma, Dan Tchernov, Pernille Tønnesen, Antonio Torralba, Daniel Vogt, Robert J. Wood
Статья: https://www.sciencedirect.com/science/article/pii/S2589004222006642
Сайт: https://www.projectceti.org/
Познакомился тут с Томом Мастиллом, автором книги “How to speak whale” (https://www.tommustill.com/how-to-speak-whale), узнал от него про проект CETI, Cetacean Translation Initiative (https://www.projectceti.org/), я его раньше как-то пропустил. Очень зачётный проект! Название, видимо, отсылка к SETI. Цель проекта -- понять коммуникацию кашалотов. После просмотра Аватара 2 как-то особенно хорошо легло 🙂
У проекта есть программная статья от середины прошлого года (июнь 2022) с родмэпом про то, как участники хотят добиться понимания китовой коммуникации (спойлер: с помощью ML и роботов!). Эта работа может стать шаблоном для понимания других существ, потому что киты -- достаточно хороший модельный организм с развитыми нейроанатомическими признаками, высокими когнитивными способностями, социальной структурой и дискретным кодированием на основе щелчков (clicks).
Для понимания языкоподобной коммуникации надо понять несколько вещей.
1) Каковы артикуляторные и перцептивные строительные блоки, которые можно надёжно производить и распознавать? Это аналог фонетики и фонологии.
2) Каковы правила композиции этих примитивов? Это аналог морфологии и синтаксиса.
3) Каковы правила интерпретации и присвоения смысла этим блокам? Аналог семантики.
4) Может быть также важно влияние контекста на смысл, это прагматика.
В идеале хочется иметь универсальный автоматизированный data-driven toolkit, который можно применять к нечеловеческой коммуникации. Пока его нет.
Применение ML очень сильно упирается в отсутствие больших датасетов для этих задач, и вопросы сбора данных (Record), а также их процессинга (Process), например, аннотирование с добавлением ID кита, составляют отдельную большую часть проекта. Другая часть -- декодирование средствами ML и создание коммуникационной модели китов (Decode). Финальная важная часть, Encode & Playback подразумевает интерактивное взаимодействие с китами и уточнение китовой языковой модели.
Китов изучать сложно, по сравнению с земными животными сильно другая экология и среда. Так, до 1957 года вообще не знали, что кашалоты умеют производить звуки, и только в 1970-х впервые поняли, что они используют их для коммуникации. Киты путешествуют на тысячи километров, живут вероятно более ста лет, причём по сути в трёхмерной среде, часто стабильными социальными группами, подолгу заботясь о детёнышах. Социальное обучение для них вероятно важнее индивидуального или генетически обусловленного поведения. Большая часть их коммуникации, видимо, одномодальная, через акустику. В зоне, куда проникает свет, также важно зрение.
Биоакустическая система кашалота эволюционировала как сенсорный орган, используемый для эхолокации и поиска добычи. Производимые китом щелчки по структуре состоят из нескольких импульсов с мощным первым импульсом и последующими с затухающей амплитудой (получающимися благодаря реверберации начального импульса в спермацетовом органе в носу кита -- кажется, это похоже на основной тон и форманты в человеческой речи, но с антропоцентризмом надо, конечно, поосторожнее).
Кроме эхолокации, этот же орган используется и для коммуникации, она состоит из коротких пакетов щелчков (<2 секунд) с интервалами (Inter-click intervals, ICI) и выделяемыми паттернами, которые называются кодами (codas). Кода состоит из 2-40 всенаправленных кликов. У разных групп китов свои диалекты, обычно у клана есть по крайней мере 20 разных код. Похоже, что в них содержится богатая информация об identity её источника, но в целом коммуникативные функции конкретных код остаются загадкой.
www.projectceti.org
Project CETI •-- Home
CETI is a nonprofit organization applying advanced machine learning and state-of-the-art robotics to listen to and translate the communication of sperm whales.
❤33👍7🤯7🔥5🐳3🥰1
В общении есть явная очерёдность, киты отвечают с разницей в 2 секунды, коммуникация может вестись на расстоянии от метров до километров. У индивидов внутри семьи есть диалект с общими по крайней мере 10 кодами (но есть и индивидуальная вариативность). Детёнышам нужно по крайней мере два года, чтобы начать производить различимые коды.
Для классических методов supervised ML получение размеченных корпусов является довольно дорогой и трудной задачей (хотя какие-то успешные результаты применения обучения с учителем есть). Перспективным видится вариант использования различных современных методов self-supervised representation learning. Но с ними тоже проблема в том, что для нормального SSL нужны большие корпуса, хоть и неразмеченные. Для примера, датасет Dominica Sperm Whale Project (DSWP) содержит лишь <10^4 код, хотя собирается с 2005 года. То есть до размеров датасетов для GPT-3 с 10^11 токенов (хоть и сложно сопоставить токены и коды) ещё далеко. CETI намерены собрать датасет порядка 10^9 (и это сравнимо с датасетом для BERT’а). Оценка базируется на почти непрерывном мониторинге 50-400 китов и в год ожидается от 400M до 4B записанных щелчков.
Техническая часть проекта состоит из нескольких разделов.
Data acquisition. Данные надо собирать наименее инвазивно, и куча современных технологий может помочь: дроны воздушные и морские (типа искусственных рыб), метки на китах, сети буйков и плавающие фиговины (floaters).
Data processing. Нужно хранение и умная предобработка этих данных (детекция щелчков, предварительная аннотация, синхронизация различных типов сигналов). Результирующий датасет будет своеобразной “социальной сетью китов”.
Decoding and encoding, построение модели коммуникации китов, которая состоит из перечисленных ранее блоков.
Фонетика и фонология: много открытых вопросов, например, определяются ли коды по абсолютным ICI, несут ли спектральные признаки код информацию, каковы distributional restrictions, и так далее.
Морфология и синтаксис: надо понять грамматику коммуникации, каковы правила построения кодов, есть ли рекурсия (пока ни в какой коммуникации животных она вроде не найдена). И здесь, и в фонетике очень нужны большие датасеты.
Семантика: надо понять смысл всех этих вокализаций, для этого нужно сохранить весь важный контекст, чтобы получить grounding найденных морфем.
Дискурс и социальная коммуникация: надо понять протоколы общения, когда и кто говорит. На этом можно будет строить предсказательные модели разговора (а каком-то смысле аналоги LLM или чатботов).
Где-то рядом есть аспекты избыточности коммуникации и защиты от ошибок, эти механизмы тоже надо понять. Отдельный большой вопрос это language acquisition, как детёныши схватывают этот язык, здесь может быть много ценных закономерностей: в каком порядке выучиваются коды, каковы самые базовые структурные блоки и их функции, и так далее. Для этого тоже нужно больше данных.
Ценно будет провести playback-based validation, здесь много своих сложностей. Знаем ли мы что воспроизводить, можем ли адекватно реплицировать в реальной среде (чтобы не с лодки, а с автономного девайса), распознаем ли ответ?
В общем большой, сложный и многомерный проект, с большой инженерной и инфраструктурной частями, но безумно интересный и уверен очень полезный. Поймём китов, поймём и инопланетян? Или сначала таки осьминогов надо будет понять?
Для классических методов supervised ML получение размеченных корпусов является довольно дорогой и трудной задачей (хотя какие-то успешные результаты применения обучения с учителем есть). Перспективным видится вариант использования различных современных методов self-supervised representation learning. Но с ними тоже проблема в том, что для нормального SSL нужны большие корпуса, хоть и неразмеченные. Для примера, датасет Dominica Sperm Whale Project (DSWP) содержит лишь <10^4 код, хотя собирается с 2005 года. То есть до размеров датасетов для GPT-3 с 10^11 токенов (хоть и сложно сопоставить токены и коды) ещё далеко. CETI намерены собрать датасет порядка 10^9 (и это сравнимо с датасетом для BERT’а). Оценка базируется на почти непрерывном мониторинге 50-400 китов и в год ожидается от 400M до 4B записанных щелчков.
Техническая часть проекта состоит из нескольких разделов.
Data acquisition. Данные надо собирать наименее инвазивно, и куча современных технологий может помочь: дроны воздушные и морские (типа искусственных рыб), метки на китах, сети буйков и плавающие фиговины (floaters).
Data processing. Нужно хранение и умная предобработка этих данных (детекция щелчков, предварительная аннотация, синхронизация различных типов сигналов). Результирующий датасет будет своеобразной “социальной сетью китов”.
Decoding and encoding, построение модели коммуникации китов, которая состоит из перечисленных ранее блоков.
Фонетика и фонология: много открытых вопросов, например, определяются ли коды по абсолютным ICI, несут ли спектральные признаки код информацию, каковы distributional restrictions, и так далее.
Морфология и синтаксис: надо понять грамматику коммуникации, каковы правила построения кодов, есть ли рекурсия (пока ни в какой коммуникации животных она вроде не найдена). И здесь, и в фонетике очень нужны большие датасеты.
Семантика: надо понять смысл всех этих вокализаций, для этого нужно сохранить весь важный контекст, чтобы получить grounding найденных морфем.
Дискурс и социальная коммуникация: надо понять протоколы общения, когда и кто говорит. На этом можно будет строить предсказательные модели разговора (а каком-то смысле аналоги LLM или чатботов).
Где-то рядом есть аспекты избыточности коммуникации и защиты от ошибок, эти механизмы тоже надо понять. Отдельный большой вопрос это language acquisition, как детёныши схватывают этот язык, здесь может быть много ценных закономерностей: в каком порядке выучиваются коды, каковы самые базовые структурные блоки и их функции, и так далее. Для этого тоже нужно больше данных.
Ценно будет провести playback-based validation, здесь много своих сложностей. Знаем ли мы что воспроизводить, можем ли адекватно реплицировать в реальной среде (чтобы не с лодки, а с автономного девайса), распознаем ли ответ?
В общем большой, сложный и многомерный проект, с большой инженерной и инфраструктурной частями, но безумно интересный и уверен очень полезный. Поймём китов, поймём и инопланетян? Или сначала таки осьминогов надо будет понять?
👍26❤11❤🔥4🔥3👌1
For Distillation, Tokens Are Not All You Need
Mrigank Raman, Pranav Mani, Davis Liang, Zachary C. Lipton
Статья: https://openreview.net/pdf?id=2fc5GOPYip
Новости дистилляции. Статья с воркшопа Instruction Tuning and Instruction Following на NeurIPS 2023.
TL;DR Авторы предложили метод дистилляции LLM под названием SLIM, использующий значения топ 5% логитов для дистилляции на каждом шаге декодирования + динамическое взвешивание KL/CE лоссов. Результат лучше классической дистилляции, SFT и MiniLLM. Метод скейлится до учителей размером ~70B.
Если поглубже, то современные LLM доросли до огромных размеров и часто используются для аннотирования и генерации инструкций для файнтюнинга малых моделей. Классика файнтюнинга при этом -- supervised fine-tuning (SFT), дообучение на новых (сгенерированных) текстах как на hard labels. Мы знаем, что этот метод несёт сильно меньше информации о распределении, чем мог бы (https://news.1rj.ru/str/gonzo_ML/1911).
Дистилляция уже используется для LLM (и многие маленькие LLM получаются из больших, та же Gemini вроде как) и с ней есть сложности. Например, маленькая модель может быть недостаточно выразительной, чтобы покрыть все моды распределения учителя.
Недавний метод MiniLLM (https://arxiv.org/abs/2306.08543) заменяет forward Kullback-Leibler divergence (KLD) на reverse KLD, чтобы предотвратить переоценку студентом низковероятностных регионов распределения учителя. Там для обучения использовался RL, что добавляло сложности. Текущая работа всё упрощает и улучшает, подход назвали SLIM (Sparse Logit Infused Modeling).
Идея проста. Давайте по нашему датасету для обучения через модель-учителя создадим датасет логитов (выходы нейронов без применения функции активации). Для каждого токена в последовательности получаем соответственно V (размер словаря) значений, это будут soft targets. Проблема с таким подходом, что это требует дофига места. Для уменьшения требований предлагается взять только 5% максимальных логитов для каждого токена, остальные считать нулями, так получаются разреженные логиты.
Дальше запускаем процедуру дистилляции (для тех, кто забыл как это работает, можно почитать тут https://news.1rj.ru/str/gonzo_ML/118), где в качестве целей берутся soft targets и лосс, являющийся взвешенной суммой обычного кросс-энтропийного лосса (CE) и традиционного KL лосса. Вес KD лоссу даётся зависящий от соотношения логита учителя и студента, таким образом он получается адаптивным и у KL компоненты больше вклад, когда у учителя больше уверенность в предсказании, чем у студента.
Подход проверили на задачах следования инструкциям. Оценивали по Rouge-L и через фидбек от GPT-4. Сравнивались с SFT на hard labels и MiniLLM, для обучения использовали 7B модели LLaMA, LLaMA 2, MPT, учитель был 13-30B. SLIM даёт результат лучше бейзлайнов. SFT вообще хуже всех.
Затем проверили на downstream задачах: ARC, Hellaswag, MMLU, TruthfulQA. Здесь сравнивались с SFT на LLaMA 2 70B в качестве учителя и Llama2-7B в качестве студента. Тоже лучше.
Также проверили генерацию данных для предобучения. Взяли Pythia-6.9B и сгенерили ей датасет текстов + 5% логитов. Затем обучили случайно инициализированную Pythia-160M на подвыборках датасета разного размера. По графику перплексии показали, что SLIM более sample efficient, чем SFT и обычная дистилляция. Я тут не до конца понимаю, что именно они всё-таки под обычной дистилляцией подразумевают, более классический KL лосс чтоли и без топ 5%?
Anyway, просто и эффективно. Метод вроде не сильно отличается от классической дистилляции, не назвал бы его радикально новым, по мне так скорее итеративное улучшение. Интересно, как сами OpenAI, Гугл и остальные внутри себя модели дистиллируют. Есть ли большая разница.
Mrigank Raman, Pranav Mani, Davis Liang, Zachary C. Lipton
Статья: https://openreview.net/pdf?id=2fc5GOPYip
Новости дистилляции. Статья с воркшопа Instruction Tuning and Instruction Following на NeurIPS 2023.
TL;DR Авторы предложили метод дистилляции LLM под названием SLIM, использующий значения топ 5% логитов для дистилляции на каждом шаге декодирования + динамическое взвешивание KL/CE лоссов. Результат лучше классической дистилляции, SFT и MiniLLM. Метод скейлится до учителей размером ~70B.
Если поглубже, то современные LLM доросли до огромных размеров и часто используются для аннотирования и генерации инструкций для файнтюнинга малых моделей. Классика файнтюнинга при этом -- supervised fine-tuning (SFT), дообучение на новых (сгенерированных) текстах как на hard labels. Мы знаем, что этот метод несёт сильно меньше информации о распределении, чем мог бы (https://news.1rj.ru/str/gonzo_ML/1911).
Дистилляция уже используется для LLM (и многие маленькие LLM получаются из больших, та же Gemini вроде как) и с ней есть сложности. Например, маленькая модель может быть недостаточно выразительной, чтобы покрыть все моды распределения учителя.
Недавний метод MiniLLM (https://arxiv.org/abs/2306.08543) заменяет forward Kullback-Leibler divergence (KLD) на reverse KLD, чтобы предотвратить переоценку студентом низковероятностных регионов распределения учителя. Там для обучения использовался RL, что добавляло сложности. Текущая работа всё упрощает и улучшает, подход назвали SLIM (Sparse Logit Infused Modeling).
Идея проста. Давайте по нашему датасету для обучения через модель-учителя создадим датасет логитов (выходы нейронов без применения функции активации). Для каждого токена в последовательности получаем соответственно V (размер словаря) значений, это будут soft targets. Проблема с таким подходом, что это требует дофига места. Для уменьшения требований предлагается взять только 5% максимальных логитов для каждого токена, остальные считать нулями, так получаются разреженные логиты.
Дальше запускаем процедуру дистилляции (для тех, кто забыл как это работает, можно почитать тут https://news.1rj.ru/str/gonzo_ML/118), где в качестве целей берутся soft targets и лосс, являющийся взвешенной суммой обычного кросс-энтропийного лосса (CE) и традиционного KL лосса. Вес KD лоссу даётся зависящий от соотношения логита учителя и студента, таким образом он получается адаптивным и у KL компоненты больше вклад, когда у учителя больше уверенность в предсказании, чем у студента.
Подход проверили на задачах следования инструкциям. Оценивали по Rouge-L и через фидбек от GPT-4. Сравнивались с SFT на hard labels и MiniLLM, для обучения использовали 7B модели LLaMA, LLaMA 2, MPT, учитель был 13-30B. SLIM даёт результат лучше бейзлайнов. SFT вообще хуже всех.
Затем проверили на downstream задачах: ARC, Hellaswag, MMLU, TruthfulQA. Здесь сравнивались с SFT на LLaMA 2 70B в качестве учителя и Llama2-7B в качестве студента. Тоже лучше.
Также проверили генерацию данных для предобучения. Взяли Pythia-6.9B и сгенерили ей датасет текстов + 5% логитов. Затем обучили случайно инициализированную Pythia-160M на подвыборках датасета разного размера. По графику перплексии показали, что SLIM более sample efficient, чем SFT и обычная дистилляция. Я тут не до конца понимаю, что именно они всё-таки под обычной дистилляцией подразумевают, более классический KL лосс чтоли и без топ 5%?
Anyway, просто и эффективно. Метод вроде не сильно отличается от классической дистилляции, не назвал бы его радикально новым, по мне так скорее итеративное улучшение. Интересно, как сами OpenAI, Гугл и остальные внутри себя модели дистиллируют. Есть ли большая разница.
👍20❤10
Проблема, что этот метод сложно применять с blackbox моделями типа OpenAI, но с новыми параметрами про logprobs и top_logprobs (https://platform.openai.com/docs/api-reference/chat/create#chat-create-logprobs) как-то можно к этому приблизиться. Правда лицензия (https://openai.com/policies/terms-of-use) вроде как это запрещает (“Use Output to develop models that compete with OpenAI”), но тут я не очень понимаю, как на сгенерённых GPT-4 датасетах обучают другие модели, там почему можно?
👍4