Первоначальный набег на Блум с помощью Google Colab

В рамках проекта Capstone моей магистерской программы я изучаю, как внедрять модели больших языков (LLM). Я уверен, что это исследование породит несколько сообщений в блогах, но для начала я хотел просто надрать резину одному и посмотреть, как это работает на высоком уровне.

Для непосвященных: LLM — это модель машинного обучения с обработкой естественного языка (NLP), обычно (и пока исключительно) построенная с использованием подхода глубокого обучения, известного как преобразователь. (Больше, чем соответствует букве i! Извините…) В будущем посте я, возможно, попытаюсь подробно рассказать, что такое преобразователь и как он работает, но пока, зная, что это большой и сложный нейросетевой подход, способный производить достаточно сложных моделей машинного обучения на основе языка. О вещах, о которых вы читали в новостях, где кто-то утверждает, что искусственный интеллект обрел разум? Это LLM. Другие вещи, которые вы читали о модели машинного обучения, которая может рисовать реалистичные изображения нелепых вещей (например, собака в лыжной маске, управляющая лодкой на жидкой сладкой вате или что-то еще, что вы можете придумать) — это также работает на LLM.

Хотя существует ряд LLM, доступных для академических / исследовательских / творческих целей, большинство из них коммерчески доступны только компаниям, которые их создали. Поскольку моей конечной целью является разработка среды приложений, которую можно было бы развертывать на коммерческой основе (подробнее об этом позже) без лицензионных ограничений, это резко сузило количество возможных LLM, из которых я мог выбирать. В результате я начинаю с BLOOM, LLM с открытым исходным кодом.

Приступая к работе, я хотел настроить быструю игровую площадку, чтобы просто пинать шины, и сделать это таким образом, чтобы мой процесс пинания шин можно было легко воспроизвести. Для этого я обратился в Google Colab. Это бесплатная среда (для пользователей с ограниченными ресурсами, но может включать графические процессоры!), которая очень похожа на ноутбуки iPython / Jupyter, но может легко интегрироваться как с Google Workspace Drive, так и с GitHub.

Выбрав среду кодирования, я искал инструкции по установке и использованию BLOOM и наткнулся на это руководство. Я нашел (и сообщил), что я думаю, было несколько ошибок в инструкциях, но в целом это было довольно полезно с точки зрения основных основ для начала работы. Я небрежно следовал процедурам и запустил BLOOM всего за несколько минут. (Полное раскрытие: фактическое время, чтобы добраться до этой точки, было значительно больше, но если вы просто воспроизведете мой процесс, вы должны начать работу менее чем за 10–15 минут, легко.) Вы можете увидеть, что я сделал здесь, и фактически получить доступ к самой записной книжке прямо по этой ссылке.

Пара замечаний:

  • Бесплатная среда Colab по понятным причинам ограничена в ресурсах, а модель с 1,3 миллиардами параметров приводила к сбою ядра, когда я пытался ее загрузить. Таким образом, я переключился на модель с 350 миллионами параметров, которая вполне подходила для целей тестирования и легко вписывалась в доступные ресурсы.
  • Пакет transforms не был установлен по умолчанию, поэтому вы увидите закомментированную ячейку там, где я его установил. Если вы запускаете это впервые в своей собственной среде Colab, вам нужно запустить эту строку кода без комментариев.

В противном случае это было довольно просто. Я смог определить подсказку, количество слов, которые должны быть возвращены в ответ, а затем использовать несколько различных подходов к модели для прогнозирования того, что будет дальше. Довольно аккуратная штука! И только начало…