Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:
Этот подход вполне можно расширить до деревьев рассуждений [Tree of Thoughts] [2700] , а дальше и до графов [2701] и гиперграфов, почему бы и нет? Вообще одной из очевидных идей для решения проблем 2 и 3 является создание гибридных архитектур, которые могут быть получены в результате добавления рекуррентных связей в трансформерные модели. Но сделать это можно очень разными способами. Вероятно, первая попытка была предпринята в 2018 г., когда группа исследователей из DeepMind и Google Brain предложила архитектуру под названием «универсальный трансформер» [Universal Transformer]. В ней сигналы (активации) циркулируют внутри кодирующей и декодирующей частей сети до тех пор, пока не будет превышено заданное максимальное число шагов или на выходе специальной подсети, ответственной за динамическую остановку [dynamic halting], не будет сгенерирован соответствующий сигнал [2702] . В последующие годы другие исследовательские группы предложили ряд альтернативных рекуррентно-трансформерных архитектур, например: R-Transformer [2703] , Transformer-XL [2704] , Looped Transformer [2705] и так далее.
2700
Yao S., Yu D., Zhao J., Shafran I., Griffiths T. L., Cao Y., Narasimhan K. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models // https://arxiv.org/abs/2305.10601
2701
Besta M., Blach N., Kubicek A., Gerstenberger R., Gianinazzi L., Gajda J., Lehmann T., Podstawski M., Niewiadomski H., Nyczyk P., Hoefler T. (2023). Graph of Thoughts: Solving Elaborate Problems with Large Language Models // https://arxiv.org/abs/2308.09687
2702
Dehghani M., Gouws S., Vinyals O., Uszkoreit J., Kaiser L. (2018). Universal Transformers // https://arxiv.org/abs/1807.03819
2703
Wang Z., Ma Y., Liu Z., Tang J. (2019). R-Transformer: Recurrent Neural Network Enhanced Transformer // https://arxiv.org/abs/1907.05572
2704
Dai Z., Yang Z., Yang Y., Carbonell J., Le Q. V., Salakhutdinov R. (2019). Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context // https://arxiv.org/abs/1901.02860
2705
Giannou A., Rajput S., Sohn J.-Y., Lee K., Lee J. D., Papailiopoulos D. (2023). Looped Transformers as Programmable Computers // https://arxiv.org/abs/2301.13196
Вообще важным классом моделей машинного обучения являются модели с адаптивным временем вычисления [Adaptive Computation Time] [2706] , [2707] , [2708] . Идея этого подхода в том, что в модель встраивается механизм, позволяющий ей самостоятельно принимать решение о завершении вычислений, если решение, соответствующее заданным критериям, уже найдено, и продолжать вычисления, если необходимые критерии ещё не достигнуты. При этом сами критерии остановки также могут быть выучены моделью. Действительно, во многих интеллектуальных задачах для получения конечного результата в некоторых сложных случаях может потребоваться значительно больше вычислений, чем в более простых. При таком подходе вы можете динамически решать, как долго следует обрабатывать входные данные, обучая нейронную сеть автоматически адаптироваться к различным ситуациям. Например, при игре в шахматы в некоторых позициях мы делаем очевидные ходы практически мгновенно, в то время как сложные комбинации требуют длительного расчёта. Для того чтобы отсортировать список чисел из двух элементов, нужны лишь мгновения, а сортировка списка из миллиарда чисел даже у современного компьютера потребует заметных затрат времени.
2706
Graves A. (2016). Adaptive Computation Time for Recurrent Neural Networks // https://arxiv.org/abs/1603.08983
2707
Fojo D., Campos V., Giro-i-Nieto X. (2018). Comparing Fixed and Adaptive Computation Time for Recurrent Neural Networks // https://arxiv.org/abs/1803.08165
2708
Sapunov G. (2019). Adaptive Computation Time (ACT) in Neural Networks // https://moocaholic.medium.com/adaptive-computation-time-act-in-neural-networks-part-1-2a28484b53df
Хотя мейнстримные исследования сосредоточены в наши дни вокруг трансформерных моделей, ряд исследовательских групп продолжает работу над развитием рекуррентных архитектур. Мы уже упоминали некоторые из них, такие как AWD-LSTM, Mogrifier LSTM и LEM. Вот ещё некоторые заслуживающие внимания работы последних лет: LRU (Linear Recurrent Unit, Линейный рекуррентный блок) [2709] , RWKV (Receptance Weighted Key Value, Взвешенные на восприимчивость пары «ключ, значение») [2710] и различные модификации так называемых «моделей пространства состояний» (State Space Models, SSM), такие как, например, H3 (Hungry Hungry Hippos, Голодные-голодные бегемоты) [2711] , S4 (Structured State Space sequence, Структурное пространство состояний для последовательностей) [2712] , [2713] , Liquid S4 (Liquid Structural State-Space Models, Плавные модели структурного пространства состояний) [2714] , S4D (S4 с диагональными матрицами состояний) [2715] , S5 (Simplified Structured State Space sequence, Упрощённое структурное пространство состояний для последовательностей) [2716] . В 2023 г. исследователи из компании Microsoft предложили свою альтернативу классическим трансформерам — так называемые «сохраняющие сети» (Retentive Network, RetNet), сочетающие механизмы параллельной, рекуррентной и поблочно-рекуррентной обработки элементов последовательности. Эксперименты, поставленные создателями новой модели, продемонстрировали, что, начиная с моделей размером более 6 млрд параметров, сети, построенные на RetNet-блоках, превосходят трансформерные нейросети в точности. Кроме того, сохраняющие сети способны работать с длинными контекстами и требуют значительно меньше памяти и вычислений на этапе выполнения (инференса) [2717] .
2709
Orvieto A., Smith S. L., Gu A., Fernando A., Gulcehre C., Pascanu R., De S. (2023). Resurrecting Recurrent Neural Networks for Long Sequences // https://arxiv.org/abs/2303.06349
2710
Peng B., Alcaide E., Anthony Q., Albalak A., Arcadinho S., Cao H., Cheng X., Chung M., Grella M., GV K. K., He X., Hou H., Kazienko P., Kocon J., Kong J., Koptyra B., Lau H., Mantri K. S. I., Mom F., Saito A., Tang X., Wang B., Wind J. S., Wozniak S., Zhang R., Zhang Z., Zhao Q., Zhou P., Zhu J., Zhu R. (2023). Reinventing RNNs for the Transformer Era // https://arxiv.org/abs/2305.13048
2711
Fu D. Y., Dao T., Saab K. K., Thomas A. W., Rudra A., Re C. (2022). Hungry Hungry Hippos: Towards Language Modeling with State Space Models // https://arxiv.org/abs/2212.14052
2712
Gu A., Goel K., Re C. (2021). Efficiently Modeling Long Sequences with Structured State Spaces // Статья: https://arxiv.org/abs/2111.00396
2713
Gu A., Johnson I., Timalsina A., Rudra A., Re C. (2022). How to Train Your HiPPO: State Space Models with Generalized Orthogonal Basis Projections // https://arxiv.org/abs/2206.12037
2714
Hasani R., Lechner M., Wang T.-H., Chahine M., Amini A., Rus D. (2022). Liquid Structural State-Space Models // https://arxiv.org/abs/2209.12951
2715
Gu A., Gupta A., Goel K., Re C. (2022). On the Parameterization and Initialization of Diagonal State Space Models // https://arxiv.org/abs/2206.11893
2716
Smith J. T. H., Warrington A., Linderman S. W. (2022). Simplified State Space Layers for Sequence Modeling // https://arxiv.org/abs/2208.04933
2717
Sun Y., Dong L., Huang S., Ma S., Xia Y., Xue J., Wang J., Wei F. (2023). Retentive Network: A Successor to Transformer for Large Language Models // https://arxiv.org/abs/2307.08621
4. Генеративные языковые модели нередко ошибаются в фактах (особенно не в самых общеизвестных) и могут откровенно фантазировать (этот эффект в наши дни часто называют «галлюцинациями» моделей; в результате галлюцинаций нередко возникают такие феномены, как фактоиды (от англ. factoid, от англ. fact — факт и – oid — от др.-греч. ????? — форма, вид, — «принимающий вид факта») — недостоверные или ложные утверждения, которые по форме напоминают достоверные). Генеративные модели в каком-то смысле напоминают студента, припёртого преподавателем на экзамене к стенке вопросом, ответ на который студент не знал либо успешно забыл. Многие студенты знают, что молчать в таких случаях не следует. Примерно то же «знает» и генеративная модель, в инструктивном датасете которой просто очень мало примеров того, как на вопрос пользователя следует ответ «Я не знаю». В итоге на свет и появляется правдоподобная чепуха.
5. Знания моделей без дообучения устаревают. Здесь могут помочь современные методы постоянного обучения [continuous learning].
6. Некоторые интеллектуальные задачи пока что лучше решают специализированные модели и даже системы, основанные на правилах. Например, задачи классификации и регрессии со сравнительно небольшим числом параметров лучше решают такие методы, как градиентный бустинг или леса случайных деревьев.
7. Большие модели склонны заучивать клише (многократно повторённые в обучающих выборках последовательности).
Также в качестве ответа на проблемы, обозначенные в пунктах 2–6, получили развитие так называемые мультиэкспертные, или интерактивные, подходы. К области мультиэкспертности в данном случае относят методы, предполагающие усиление возможностей фундаментальных нейросетевых моделей за счёт создания механизмов их взаимодействия с другими моделями, системами, сервисами (в том числе акторами, т. е. исполняющими системами) и различными аппаратными устройствами. Человеческий мозг так же, как и большие трансформерные модели, не слишком подходит для того, чтобы, например, перемножать шестизначные числа. В таких случаях мы обычно хватаемся за калькулятор. Для поиска или проверки фактов мы обращаемся в поисковую систему. Для ведения заметок используем записную книжку. Почему бы не предоставить генеративной нейросети аналогичную возможность? Эта идея возникала у исследователей неоднократно. Например, сходные соображения мы находим в статье, посвящённой модели LaMDA (название модели отсылает нас к лямбда-исчислению Чёрча, намекая на возможность рекуррентного вызова функций) [2718] , в работах «Toolformer: языковые модели могут научиться использовать инструменты» [Toolformer: Language Models Can Teach Themselves to Use Tools] [2719] , «ToolkenGPT: расширение возможностей замороженных языковых моделей за счёт использования большого числа инструментов с помощью векторных вложений инструментов» [ToolkenGPT: Augmenting Frozen Language Models with Massive Tools via Tool Embeddings] [2720] , «GPT4Tools: обучение больших языковых моделей использованию инструментов путём самоинструктирования» [GPT4Tools: Teaching Large Language Model to Use Tools via Self-instruction], «HuggingGPT: решение задач ИИ с помощью ChatGPT и его друзей на платформе Hugging Face» [HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face] [2721] , «Gorilla: большая языковая модель, соединённая со множеством API» [Gorilla: Large Language Model Connected with Massive APIs] [2722] в материалах по плагинам для ChatGPT [2723] и так далее.
2718
Thoppilan R., Freitas D. D., Hall J., Shazeer N., Kulshreshtha A., Cheng H., Jin A., Bos T., Baker L., Du Y., Li Y., Lee H., Zheng H. S., Ghafouri A., Menegali M., Huang Y., Krikun M., Lepikhin D., Qin J., Chen D., Xu Y., Chen Z., Roberts A., Bosma M., Zhao V., Zhou Y., Chang C., Krivokon I., Rusch W., Pickett M., Srinivasan P., Man L., Meier-Hellstern K., Morris M. R., Doshi T., Santos R. D., Duke T., Soraker J., Zevenbergen B., Prabhakaran V., Diaz M., Hutchinson B., Olson K., Molina A., Hoffman-John E., Lee J., Aroyo L., Rajakumar R., Butryna A., Lamm M., Kuzmina V., Fenton J., Cohen A., Bernstein R., Kurzweil R., Aguera-Arcas B., Cui C., Croak M., Chi E., Le Q. (2022). LaMDA: Language Models for Dialog Applications // https://arxiv.org/abs/2201.08239
2719
Schick T., Dwivedi-Yu J., Dessi R., Raileanu R., Lomeli M., Zettlemoyer L., Cancedda N., Scialom T. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools // https://arxiv.org/abs/2302.04761
2720
Hao S., Liu T., Wang Z., Hu Z. (2023). ToolkenGPT: Augmenting Frozen Language Models with Massive Tools via Tool Embeddings // https://arxiv.org/abs/2305.11554
2721
Shen Y., Song K., Tan X., Li D., Lu W., Zhuang Y. (2023). HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face // https://arxiv.org/abs/2303.17580
2722
Patil S. G., Zhang T., Wang X., Gonzalez J. E. (2023). Gorilla: Large Language Model Connected with Massive APIs // https://arxiv.org/abs/2305.15334
2723
OpenAI (2023). ChatGPT plugins // https://openai.com/blog/chatgpt-plugins
Вопрос об объединении генеративной и поисковой (экстрактивной) моделей [2724] , [2725] начал изучаться ещё в начале 2010-х гг. Ему посвящена, например, работа 2011 г. «KenLM: более быстрые и компактные вызовы языковых моделей» [KenLM: Faster and Smaller Language Model Queries] [2726] . Впрочем, тогда исследователей больше интересовали не вопросы борьбы с галлюцинациями или увеличения длины контекста языковых моделей, а то, как можно повысить скорость их работы. В трансформерную эпоху к вопросу объединения генерации и поиска обращались исследователи из DeepMind («Улучшение языковых моделей путём поиска по триллионам токенов» [Improving language models by retrieving from trillions of tokens] [2727] ), Meta («Улучшенная за счёт поиска генерация для задач обработки естественного языка, требующих интенсивного использования знаний» [Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks] [2728] ), Стэнфордского университета («Показать-Найти-Предсказать: объединение поисковых и языковых моделей для обработки естественного языка, требующей интенсивного использования знаний» [Demonstrate-Search-Predict: Composing retrieval and language models for knowledge-intensive NLP] [2729] ) и так далее.
2724
* Сегодня для такого синтеза часто используют термин «генерация, дополненная поиском» (Retrieval-augmented Generation, RAG).
2725
Schlag I., Sukhbaatar S., Celikyilmaz A., Yih W.-t., Weston J., Schmidhuber J., Li X. (2023). Large Language Model Programs // https://arxiv.org/abs/2305.05364
2726
Heafield K. (2011). KenLM: Faster and Smaller Language Model Queries // https://kheafield.com/papers/avenue/kenlm.pdf
2727
Borgeaud S., Mensch A., Hoffmann J., Cai T., Rutherford E., Millican K., van den Driessche G., Lespiau J.-B., Damoc B., Clark A., de Las Casas D., Guy A., Menick J., Ring R., Hennigan T., Huang S., Maggiore L., Jones C., Cassirer A., Brock A., Paganini M., Irving G., Vinyals O., Osindero S., Simonyan K., Rae J. W., Elsen E., Sifre L. (2021). Improving language models by retrieving from trillions of tokens // https://arxiv.org/abs/2112.04426
2728
Lewis P., Perez E., Piktus A., Petroni F., Karpukhin V., Goyal N., Kuttler H., Lewis M., Yih W.-T., Rocktaschel T., Riedel S., Kiela D. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks // https://arxiv.org/abs/2005.11401
2729
Khattab O., Santhanam K., Li X. L., Hall D., Liang P., Potts C., Zaharia M. (2022). Demonstrate-Search-Predict: Composing retrieval and language models for knowledge-intensive NLP // https://arxiv.org/abs/2212.14024
Идея гетерогенной нейросимвольной архитектуры, в которой входящие в ансамбль нейросети, символьные модели и другие подсистемы будут сообща действовать для решения поставленной пользователем задачи, вызывает ассоциации с теорией, разработанной в 1970—1980-е гг. Минским и Пейпертом и изложенной в книге Минского «Сообщество разума» [Society of Mind] [2730] . В ней Минский шаг за шагом конструирует модель человеческого интеллекта, построенную на взаимодействии простых частей, называемых агентами. И хотя каждый из агентов в отдельности не является разумным, их взаимодействие порождает то, что мы и называем разумом. «Какой хитрый трюк делает нас разумными? Фишка в том, что никакой хитрости нет, — пишет Минский. — Сила интеллекта проистекает из нашего огромного разнообразия, а не из какого-то одного принципа, отточенного до совершенства».
2730
Minsky M. (1988). Society of Mind. Simon & Schuster Paperbacks // https://www.google.ru/books/edition/Society_Of_Mind/bLDLllfRpdkC
Конечно, схема взаимодействия агентов (экспертов) и сама их природа в мультиэкспертных системах может быть очень разной. При некоторых допущениях «сообществами разума» можно считать и генеративные языковые модели, оснащённые механизмом плагинов, и MoE-сети, и системы, состоящие из нескольких языковых моделей, осуществляющих мозговой штурм на естественном языке [2731] , и генеративных агентов, «живущих» в упрощённой симуляции мира [2732] , и системы, в которых модель-агент обучается решать различные задачи, «интервьюируя» другую сеть, являющуюся моделью среды [2733] , а то и вовсе произвольные ансамбли моделей. В целом подход этот является весьма продуктивным и способен послужить основой для множества различных систем.
2731
Zhuge M., Liu H., Faccio F., Ashley D. R., Csordas R., Gopalakrishnan A., Hamdi A., Hammoud H. A. A. K., Herrmann V., Irie K., Kirsch L., Li B., Li G., Liu S., Mai J., Piekos P., Ramesh A., Schlag I., Shi W., Stanic A., Wang W., Wang Y., Xu M., Fan D.-P., Ghanem B., Schmidhuber J. (2023). Mindstorms in Natural Language-Based Societies of Mind // https://arxiv.org/abs/2305.17066
2732
Park J. S., O'Brien J. C., Cai C. J., Morris M. R., Liang P., Bernstein M. S. (2023). Generative Agents: Interactive Simulacra of Human Behavior // https://arxiv.org/abs/2304.03442
2733
Schmidhuber J. (2015). On Learning to Think: Algorithmic Information Theory for Novel Combinations of Reinforcement Learning Controllers and Recurrent Neural World Models // https://arxiv.org/abs/1511.09249
Один из основателей DeepMind Мустафа Сулейман считает, что именно интерактивная парадигма станет фундаментом нового поколения систем ИИ:
Первая волна ИИ касалась классификации. Глубокое обучение показало, что мы можем научить компьютер классифицировать различные типы входных данных: изображения, видео, аудио, язык. Сейчас мы находимся в генеративной волне, когда вы берете входные данные и создаете новые данные.
Третья волна будет интерактивной фазой. Вот почему я уже давно уверен, что диалог — это интерфейс будущего. Знаете, вместо того, чтобы просто нажимать на кнопки и печатать, вы будете разговаривать со своей системой ИИ.
И эти системы будут способны совершать действия. Вы просто дадите системе общую цель высокого уровня, и она будет использовать все имеющиеся у неё инструменты для достижения этой цели. Системы будут разговаривать с другими людьми, разговаривать с другими системами. Это то, что мы собираемся сделать с Pi (перспективной системой от DeepMind. — С. М.).
Это огромный сдвиг в том, на что способны технологии. Это очень, очень глубокий момент в истории технологий, который, я думаю, многие люди недооценивают. Сегодняшние технологии статичны. Грубо говоря, современные системы делают то, что вы им говорите.