Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:
6.6.6 Фундаментальные модели и новые перспективы
Появление моделей, подобных BERT, GPT, T5 и так далее, заставило исследователей говорить о появлении нового класса моделей машинного обучения, получившего название «фундаментальные модели» [foundation models], и даже о смене парадигмы современного ИИ. В рамках Стэнфордского института человекоориентированного ИИ (Stanford Institute for Human-Centered Artificial Intelligence, HAI) был основан Центр исследования фундаментальных моделей (Center for Research on Foundation Models, CRFM), программное исследование которого, увидевшее свет в августе 2021 г., получило название «О возможностях и рисках фундаментальных моделей» (On the Opportunities and Risks of Foundation Models) [2680] .
2680
Bommasani R., Hudson D. A, Adeli E., Altman R., Arora S., von Arx S., Bernstein M. S., Bohg J., Bosselut A., Brunskill E., Brynjolfsson E., Buch S., Card D., Castellon R., Chatterji N., Chen A., Creel K., David J. Q., Demszky D., Donahue C., Doumbouya M., Durmus E., Ermon S., Etchemendy J., Ethayarajh K., Fei-Fei L., Finn C., Gale T., Gillespie L., Goel K., Goodman N., Grossman S., Guha N., Hashimoto T., Henderson P., Hewitt J., Ho D. E., Hong J., Hsu K., Huang J., Icard T., Jain S., Jurafsky D., Kalluri P., Karamcheti S., Keeling G., Khani F., Khattab O., Koh P. W., Krass M., Krishna R., Kuditipudi R., Kumar A., Ladhak F., Lee M., Lee T., Leskovec J., Levent I., Li X. L., Li X., Ma T., Malik A., Manning C. D., Mirchandani S., Mitchell E., Munyikwa Z., Nair S., Narayan A., Narayanan D., Newman B., Nie A., Niebles J. C., Nilforoshan H., Nyarko J., Ogut G., Orr L., Papadimitriou I., Park J. S., Piech C., Portelance E., Potts C., Raghunathan A., Reich R., Ren H., Rong F., Roohani Y., Ruiz C., Ryan J., Re C., Sadigh D., Sagawa S., Santhanam K., Shih A., Srinivasan K., Tamkin A., Taori R., Thomas A. W., Tramer F., Wang R. E., Wang W., Wu B., Wu J., Wu Y., Xie S. M., Yasunaga M., You J., Zaharia M., Zhang M., Zhang T., Zhang X., Zhang Y. (2021). On the Opportunities and Risks of Foundation Models // https://arxiv.org/abs/2108.07258
Прогресс
1. Обучение и даже выполнение больших сетей потребляет значительные вычислительные ресурсы. Для борьбы с этой проблемой создаются более совершенные аппаратные устройства, а также более эффективные схемы вычисления для трансформерных нейросетей. Например, алгоритм FlashAttention позволяет сократить время вычисления блока внимания на современных тензорных устройствах более чем вдвое [2681] , а его новая версия FlashAttention-2 — и вовсе добиться более чем четырёхкратного ускорения [2682] . Ещё одним способом сокращения вычислительных затрат является так называемая квантизация — процесс создания приближённой версии нейронной сети за счёт кодирования её весов числами с меньшей разрядностью. Например, вместо 32-битных чисел мы можем использовать 8-битные (а иногда и числа с ещё меньшей разрядностью, вплоть до одного бита — в последнем случае квантизацию называют бинаризацией [2683] ). Квантизация значительно снижает как требования к памяти, так и вычислительные затраты на выполнение (инференс) сетей. Второе достигается за счёт того, что современные процессоры имеют встроенные векторные и матричные операции в режимах пониженной точности. Конечно, такие фокусы не проходят бесследно — снижается точность работы сети. Однако современные подходы позволяют минимизировать эти потери или компенсировать их [2684] , [2685] . Существует два основных подхода к квантизации нейронных сетей: квантизация после обучения (Post-Training Quantization, PTQ) и обучение с учётом квантизации (Quantization-Aware Training, QAT). PTQ преобразует веса и активации модели в числа с более низкой точностью после обучения, в то время как QAT включает квантизацию во время обучения. Квантизации может подвергаться как вся сеть, так и лишь отдельные её слои. Добавление отдельно обучаемых неквантизованных слоёв на выход квантизованной сети может компенсировать потери точности от квантизации. Комбинируя низкоранговую адаптацию (LoRA) с квантизацией, исследователи из Вашингтонского университета научились дообучать модель LLaMA с 65 млрд параметров всего на одном GPU с 48 Гб оперативной памяти [2686] . А преподаватель Корнеллского университета Александр Раш продемонстрировал, что благодаря различным оптимизациям квантизованная версия LLaMA 2 с 70 млрд параметров может генерировать текст, используя центральный процессор обычного ноутбука (правда, скорость генерации при этом составляет лишь около 5 токенов в минуту) [2687] .
2681
Dao T., Fu D. Y., Ermon S., Rudra A., Re C. (2022). FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness // https://arxiv.org/abs/2205.14135
2682
Dao T. (2023). FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning // https://arxiv.org/abs/2307.08691
2683
Shang Y., Yuan Z., Wu Q., Dong Z. (2023). PB-LLM: Partially Binarized Large Language Models // https://arxiv.org/abs/2310.00034
2684
Nagel M., Fournarakis M., Amjad R. A., Bondarenko Y., van Baalen M., Blankevoort T. (2021). A White Paper on Neural Network Quantization // https://arxiv.org/abs/2106.08295
2685
Gholami A., Kim S., Dong Z., Yao Z., Mahoney M. W., Keutzer K. (2021). A Survey of Quantization Methods for Efficient Neural Network Inference // https://arxiv.org/abs/2103.13630
2686
Dettmers T., Pagnoni A., Holtzman A., Zettlemoyer L. (2023). QLoRA: Efficient Finetuning of Quantized LLMs // https://arxiv.org/abs/2305.14314
2687
Rush A. (2023). llama2.rs // https://github.com/srush/llama2.rs
Также в сокращении затрат на обучение моделей могут помочь две интересные группы методов. Первая основана на идее постепенного увеличения размера модели по мере обучения. Сама идея не нова — её использовал Алексей Ивахненко в своём методе группового учёта аргументов (МГУА) ещё в начале 1970-х гг., к ней обращались Джеффри Хинтон и его коллеги в своих глубоких сетях доверия (DBN). В наши дни её опробовали [2688] создатели модели FLM-101B — благодаря постепенному увеличению размера нейросети в процессе обучения им удалось обучить модель со 101 млрд параметров, потратив на это всего 100 000 долларов.
2688
Li X., Yao Y., Jiang X., Fang X., Meng X., Fan S., Han P., Li J., Du L., Qin B., Zhang Z., Sun A., Wang Y. (2023). FLM-101B: An Open LLM and How to Train It with $100K Budget // https://arxiv.org/abs/2309.03852
Вторая группа методов основана на идее постепенного усложнения заданий по мере обучения модели. Это направление в машинном обучении носит название «Обучение на базе учебного курса» [Curriculum learning] [2689] , [2690] . Усложнение может заключаться, например, в увеличении размера контекста (рецептивного поля) модели по мере обучения (в простом случае обучение может разделяться на две стадии: на первой модель обучается на более коротких последовательностях, а на второй — на более длинных) [2691] , [2692] , [2693] или в отборе для более поздних шагов обучения тех примеров из обучающей выборки, на которых обучаемая (или более простая) модель ошибается
2689
Bengio Y., Louradour J., Collobert R., Weston J. (2009). Curriculum Learning / ICML '09: Proceedings of the 26th Annual International Conference on Machine Learning, pp. 41–48. // https://doi.org/10.1145/1553374.1553380
2690
Graves A., Bellemare M. G., Menick J., Munos R., Kavukcuoglu K. (2017). Automated Curriculum Learning for Neural Networks // https://arxiv.org/abs/1704.03003
2691
Li C., Zhang M., He Y. (2022). The Stability-Efficiency Dilemma: Investigating Sequence Length Warmup for Training GPT Models // https://openreview.net/forum?id=JpZ5du_Kdh
2692
Li S. (2023). Variable Sequence Length Training for Long-Context Large Language Models / Large Language Model, NLP, Deep Learning, Machine Learning, Blog, Developer Blog, July 22, 2023. // https://www.cerebras.net/blog/variable-sequence-length-training-for-long-context-large-language-models/
2693
DeepSpeed Data Efficiency: A composable library that makes better use of data, increases training efficiency, and improves model quality (2023). / deepspeed.ai, September 26, 2023. // https://www.deepspeed.ai/tutorials/data-efficiency/
2694
Fernandez J., Downey D. (2018). Sampling Informative Training Data for RNN Language Models / Proceedings of ACL 2018, Student Research Workshop, pp. 9–13. // https://doi.org/10.18653/v1/P18-3002
2695
Wang H., Huang M., Huang R., Hong L., Xu H., Hu T., Liang X., Li Z. (2023). Boosting Visual-Language Models by Exploiting Hard Samples // https://arxiv.org/abs/2305.05208
2. Ограниченная длина контекста (рецептивного поля) классических трансформеров. Мы уже говорили об этой проблеме в предыдущем разделе, когда рассказывали о трудностях, испытываемых современными генеративными моделями при написании длинных текстов. Объём вычислений, производимых базовым строительным элементом классических трансформеров — блоком многоголового внутреннего внимания, — растёт пропорционально квадрату длины контекста [2696] . Замедлить этот рост можно лишь ценой некоторых потерь в точности. Следовательно, актуальным становится вопрос о том, какие методы могут позволить увеличить длину контекста моделей оптимальным образом, чтобы не оставить без внимания все важные «дальнодействующие» зависимости внутри моделируемых последовательностей. Причём проблема эта относится к работе не только с длинными текстами, но и с мультимодальными данными, где она приобретает особенную остроту. Например, если мы имеем дело с мультимодальным диалогом (содержащим помимо текстовых частей картинки и звуковые сообщения), то число токенов в обрабатываемых последовательностях сильно возрастает — их нужно довольно много, чтобы закодировать звук или изображение без потери существенных деталей.
2696
Keles F. D., Hegde C. (2023). On The Computational Complexity of Self-Attention. / Proceedings of Machine Learning Research, Vol. 201, pp. 1–23, 2023 // https://proceedings.mlr.press/v201/duman-keles23a/duman-keles23a.pdf
Для борьбы с этой проблемой создаются различные уже упоминавшиеся нами механизмы разреженного внимания, а также нейросети, дополненные памятью (MANN), уже упоминавшиеся нами в разделах 6.2.4 и 6.3.4.3. Тем не менее, несмотря на наличие различных многообещающих прототипов, общепринятого решения этой проблемы пока не найдено, и, как нередко бывает в современной науке, многие идеи, изначально казавшиеся перспективными, при более скрупулёзном рассмотрении не приносят ожидаемого успеха. В 2022 г. исследователи из Google Research и DeepMind тщательно протестировали различные варианты трансформерных архитектур, в том числе созданные с целью увеличения длины контекста, и пришли к неутешительному выводу: «серебряной пули» [2697] для решения этой проблемы пока что не найдено [2698] . Поэтому активные изыскания в этой области продолжаются.
2697
* Серебряная пуля — метафора, означающая простое решение сложной проблемы.
2698
Tay Y., Dehghani M., Abnar S., Chung H. W., Fedus W., Rao J., Narang S., Tran V. Q., Yogatama D., Metzler D. (2022). Scaling Laws vs Model Architectures: How does Inductive Bias Influence Scaling? // https://arxiv.org/abs/2207.10551
3. Современные многослойные трансформеры не являются рекуррентными сетями, значит, число «шагов рассуждения» при вычислении сети конечно — это мешает моделям выполнять многие нехитрые алгоритмы (арифметические действия с большими числами, сортировка больших списков, «перевёртывание» длинных списков или текста, подсчёт элементов и т. д.).
Внимательный читатель может задаться вопросом: если вышесказанное верно, то каким же образом сервисы, подобные ChatGPT или GigaChat, способны генерировать ответы практически произвольной длины? В действительности, как мы уже рассказывали ранее, нейросети, подобные GPT-3 или ruGPT-3.5, на выходе дают лишь распределение вероятностей для следующего токена в последовательности. Сама же последовательность генерируется не нейросетью, а алгоритмом семплирования, который выбирает токены из распределения, предсказываемого нейросетью. Этот алгоритм основан обычно на нехитрой системе правил и не является продуктом машинного обучения. Сигналом окончания генерации является специальный токен, обозначающий конец текста, или же превышение заданного лимита длины последовательности. Таким образом, система, состоящая из генеративной языковой модели и алгоритма семплирования, действительно способна выполнить почти неограниченное число шагов рассуждения, однако не способна самостоятельно вырабатывать последовательность из необходимых для решения задачи шагов. Конечно, можно попытаться дообучить языковую модель на диалогах, содержащих между вопросом пользователя и правильным ответом некоторое количество прописанных в явном виде шагов рассуждения. Например:
Пользователь: Какое слово получится, если перевернуть слово «база»?
Система: Для решения этой задачи предпримем следующие шаги:
1. Берём пустую строку и слово «база».
2. Удаляем из слова «база» последнюю букву и прибавляем её к нашей строке, получаем строку «а» и слово «баз».
3. Удаляем из слова «баз» последнюю букву и прибавляем её к нашей строке, получаем строку «аз» и слово «ба».
4. Удаляем из слова «ба» последнюю букву и прибавляем её к нашей строке, получаем строку «аза» и слово «б».
5. Удаляем из слова «б» последнюю букву и прибавляем её к нашей строке, получаем строку «азаб» и пустое слово.
Теперь буквы в слове кончились, а полученная нами строка «азаб» будет ответом на заданный вопрос.
Ответ: азаб
Этот подход получил название «Цепь рассуждений» [Chain-of-Thought]. Он позволяет справиться с некоторыми несложными задачами, требующими нескольких шагов рассуждения, но, к сожалению, для его использования необходима специальная разметка обучающих данных и он подходит пока лишь для сравнительно простых задач [2699] .
2699
Wei J., Wang X., Schuurmans D., Bosma M., Ichter B., Xia F., Chi E., Le Q., Zhou D. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models // https://arxiv.org/abs/2201.11903