Прогресс в области создания фундаментальных моделей вселяет надежду на то, что именно это направление станет магистральной дорогой в создании универсального искусственного интеллекта. Появление ChatGPT стало впечатляющей демонстрацией возможностей современных технологий генеративного ИИ и заставило многих людей пересмотреть перспективы этого направления. Если раньше многие скептики полагали, что создание искусственной интеллектуальной системы, способной сравниться с разумом человека, — дело далёкого будущего, то сегодня многие из них уже не столь непреклонны в своём пессимизме. Однако, несмотря на новую волну энтузиазма, важно понимать, что, прежде чем современные фундаментальные модели смогут стать универсальным инструментом решения интеллектуальных задач, их создателям предстоит дать ответы на целый ряд вызовов и преодолеть ограничения существующих подходов. Давайте рассмотрим некоторые из них и порассуждаем о наиболее перспективных методах, призванных решить имеющиеся проблемы.
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]. Также в сокращении затрат на обучение моделей могут помочь две интересные группы методов. Первая основана на идее постепенного увеличения размера модели по мере обучения. Сама идея не нова — её использовал Алексей Ивахненко в своём методе группового учёта аргументов (МГУА) ещё в начале 1970-х гг., к ней обращались Джеффри Хинтон и его коллеги в своих глубоких сетях доверия (DBN). В наши дни её опробовали[2688] создатели модели FLM-101B — благодаря постепенному увеличению размера нейросети в процессе обучения им удалось обучить модель со 101 млрд параметров, потратив на это всего 100 000 долларов. Вторая группа методов основана на идее постепенного усложнения заданий по мере обучения модели. Это направление в машинном обучении носит название «Обучение на базе учебного курса» [Curriculum learning][2689], [2690]. Усложнение может заключаться, например, в увеличении размера контекста (рецептивного поля) модели по мере обучения (в простом случае обучение может разделяться на две стадии: на первой модель обучается на более коротких последовательностях, а на второй — на более длинных)[2691], [2692], [2693] или в отборе для более поздних шагов обучения тех примеров из обучающей выборки, на которых обучаемая (или более простая) модель ошибается сильнее всего (такой подход называют «использованием сложных примеров» [Exploiting Hard Samples])[2694], [2695]. 2. Ограниченная длина контекста (рецептивного поля) классических трансформеров. Мы уже говорили об этой проблеме в предыдущем разделе, когда рассказывали о трудностях, испытываемых современными генеративными моделями при написании длинных текстов. Объём вычислений, производимых базовым строительным элементом классических трансформеров — блоком многоголового внутреннего внимания, — растёт пропорционально квадрату длины контекста[2696]. Замедлить этот рост можно лишь ценой некоторых потерь в точности. Следовательно, актуальным становится вопрос о том, какие методы могут позволить увеличить длину контекста моделей оптимальным образом, чтобы не оставить без внимания все важные «дальнодействующие» зависимости внутри моделируемых последовательностей. Причём проблема эта относится к работе не только с длинными текстами, но и с мультимодальными данными, где она приобретает особенную остроту. Например, если мы имеем дело с мультимодальным диалогом (содержащим помимо текстовых частей картинки и звуковые сообщения), то число токенов в обрабатываемых последовательностях сильно возрастает — их нужно довольно много, чтобы закодировать звук или изображение без потери существенных деталей. Для борьбы с этой проблемой создаются различные уже упоминавшиеся нами механизмы разреженного внимания, а также нейросети, дополненные памятью (MANN), уже упоминавшиеся нами в разделах 6.2.4 и 6.3.4.3. Тем не менее, несмотря на наличие различных многообещающих прототипов, общепринятого решения этой проблемы пока не найдено, и, как нередко бывает в современной науке, многие идеи, изначально казавшиеся перспективными, при более скрупулёзном рассмотрении не приносят ожидаемого успеха. В 2022 г. исследователи из Google Research и DeepMind тщательно протестировали различные варианты трансформерных архитектур, в том числе созданные с целью увеличения длины контекста, и пришли к неутешительному выводу: «серебряной пули»[2697] для решения этой проблемы пока что не найдено[2698]. Поэтому активные изыскания в этой области продолжаются.
вернуться Dao T., Fu D. Y., Ermon S., Rudra A., Ré C. (2022). FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness // https://arxiv.org/abs/2205.14135 вернуться Dao T. (2023). FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning // https://arxiv.org/abs/2307.08691 вернуться Shang Y., Yuan Z., Wu Q., Dong Z. (2023). PB-LLM: Partially Binarized Large Language Models // https://arxiv.org/abs/2310.00034 вернуться 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 вернуться 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 вернуться Dettmers T., Pagnoni A., Holtzman A., Zettlemoyer L. (2023). QLoRA: Efficient Finetuning of Quantized LLMs // https://arxiv.org/abs/2305.14314 вернуться Rush A. (2023). llama2.rs // https://github.com/srush/llama2.rs вернуться 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 вернуться 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 вернуться Graves A., Bellemare M. G., Menick J., Munos R., Kavukcuoglu K. (2017). Automated Curriculum Learning for Neural Networks // https://arxiv.org/abs/1704.03003 вернуться 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 вернуться 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/ вернуться 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/ вернуться 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 вернуться 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 вернуться 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 вернуться * Серебряная пуля — метафора, означающая простое решение сложной проблемы. вернуться 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 |