В рамках недавнего исследовательского проекта в нашем университете у нас была прекрасная возможность погрузиться в мир больших языковых моделей. В частности, мы сосредоточили наши усилия на модели LLaMA Meta AI, инициативе с открытым исходным кодом, которая может произвести революцию в области обработки естественного языка. Вооружившись мощной инфраструктурой DGX нашего университета, включающей 8 графических процессоров NVIDIA V100 с 32 ГБ памяти каждый, мы отправились в приключение, чтобы настроить LLaMA и полностью раскрыть его потенциал. В этом сообщении блога мы поделимся нашими техническими идеями и открытиями, проливая свет на возможности искусственного интеллекта с открытым исходным кодом.

Большие языковые модели уже давно ограничены рвами самых богатых и самых передовых лабораторий искусственного интеллекта в мире, которые охраняют свои модели за частными барьерами. Однако появление моделей с открытым исходным кодом, таких как LLaMA, означает изменение парадигмы доступности ИИ. Размещая эти модели в свободном доступе, сообщество ИИ может коллективно продвигать область и совершать новые прорывы.

Но почему? Зачем настраивать модель, если можно использовать существующие современные модели, такие как GPT-4?

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

Это дорого!

Разработка передовых моделей ИИ с нуля практически невозможна для большинства учреждений, учитывая требуемые огромные вычислительные ресурсы. Например, модель Meta LLaMA использовала 2048 графических процессоров NVIDIA A100 в течение 5 месяцев! Потребляя 2638 МВтч энергии и выделяя 1015 т CO2-экв углерода.

Тонкая настройка существующих моделей становится более устойчивым подходом. Опираясь на предварительно обученные модели, такие как LLaMA, учреждения могут использовать свои наработки, значительно снижая затраты на вычисления и ресурсы. Тонкая настройка позволяет использовать возможности продвинутых моделей без непосильного бремени обучения совершенно новых моделей с нуля.

Наше путешествие началось с загрузки весов моделей LLaMA объемом 220 ГБ и их точной настройки с использованием самых современных технологий. Мы сосредоточились на методологиях эффективной тонкой настройки параметров (PEFT), включая LoRA и адаптеры LLaMA. Эти подходы позволяют эффективно адаптировать большие модели без риска катастрофического забывания. Вводя небольшое количество обучаемых параметров, мы можем снизить затраты на вычисления и память, делая процесс тонкой настройки более управляемым.

Чтобы продолжить наш проект, мы приступили к конкретной задаче: генерировать котировки с использованием пользовательского набора данных котировок. Сначала мы преобразуем вес модели LLaMA в формат Hugging Face Transformers, чтобы иметь возможность использовать библиотеки оптимизации, а затем настраиваем его для создания осмысленных и креативных котировок. Этот процесс позволил нам воочию убедиться в выразительной силе и гибкости больших языковых моделей, поскольку LLaMA без особых усилий создавал красивые и наводящие на размышления цитаты.

Пример используемого набора данных:

https://www.kaggle.com/datasets/akmittal/quotes-dataset

{
    "Quote": "A room without books is like a body without a soul.",
    "Author": "Marcus Tullius Cicero",
    "Tags": ["attributed-no-source", "books", "simile", "soul "],
    "Popularity": 0.09537509537509538,
    "Category": "soul"
  },
  {
    "Quote": "Be the change that you wish to see in the world.",
    "Author": "Mahatma Gandhi",
    "Tags": ["action", "change", "inspirational", "philosophy", "wish "],
    "Popularity": 0.08524808524808525,
    "Category": "philosophy"
  },
  {
    "Quote":
      "In three words I can sum up everything I've learned about life: it goes on.",
    "Author": "Robert Frost",
    "Tags": ["life "],
    "Popularity": 0.08117608117608117,
    "Category": "life"
  }

Мы конвертируем приведенный выше JSON в формат, полезный для обучения LLaMA на основе тегов. Затем мы разделили весь набор данных на наборы для обучения и проверки в соотношении 80:20:

0,"<s><s>religion: You made me confess the fears that I have. But I will tell you also what I do not fear. I do not fear to be alone or to be spurned for another or to leave whatever I have to leave. And I am not afraid to make a mistake, even a great mistake, a lifelong mistake and perhaps as long as eternity too.</s></s>"
1,"<s><s>funny: I will never buy a fish tank, because I don't believe in supporting the funding of aquatic war machines.</s></s>"
2,"<s><s>love: And I still love you in my own fucked-up way. I miss you, I really do. Can we still be friends?</s></s>"
3,"<s><s>hope: I know we can't always know what medical surprises may happen during childbirth. But my hope is to go fully natural - no epidural, no interventions. Wish me luck.</s></s>"
4,<s><s>romance: Maybe 'Okay' will be our 'always'...</s></s>

Обучение и выполнение вывода с использованием библиотеки оптимизации глубокого обучения DeepSpeed, следуя репозиторию mallorbc на github, мы достигаем нескольких результатов:

Prompt : Love: 
Output : I think the best romance stories are all about love at first sight, that sort of thing, so obviously I'm a big fan of romance. I like the thrill of the story, but even when that wears off I still love the characters.

Мы видим много возможностей для улучшения с развитием технологий тонкой настройки каждый день, в первую очередь в сообществе открытого исходного кода. Основываясь на этом, мы приходим к выводу, что в ближайшем будущем у нас могут быть значительные возможности для улучшения, поскольку учреждения стремятся разрабатывать приватизированные LLM на основе этих базовых моделей, точно настроенных на их собственных данных.

Хотя наше путешествие в основном вращалось вокруг LLaMA, важно отметить и другие замечательные языковые модели, которые в данный момент объявляются с невероятной скоростью почти по 3 в день!!

Наши обсуждения с учеными и экспертами в области искусственного интеллекта в рамках этого проекта еще раз подчеркнули важность моделей с открытым исходным кодом и необходимость постоянного прогресса в этой области. Именно благодаря открытому сотрудничеству и обмену идеями мы можем демократизировать ИИ и формировать будущее интеллекта.

Когда мы размышляем о нашем путешествии, становится ясно, что будущее ИИ заключается в открытом сотрудничестве и доступных системах. Применяя модели с открытым исходным кодом, учреждения могут раздвигать границы ИИ и внедрять инновации в своих конкретных областях. Сила больших языковых моделей, таких как LLaMA, в сочетании с коллективным опытом сообщества может сформировать интеллект следующего поколения.

В заключение, наша экспедиция в область больших языковых моделей разожгла нашу страсть к искусственному интеллекту с открытым исходным кодом. Благодаря тонкой настройке LLaMA и изучению ее творческих возможностей мы на собственном опыте убедились в потенциале революционных достижений. Мы надеемся, что эта запись в блоге вдохновит коллег-исследователей на использование моделей с открытым исходным кодом, сотрудничество и использование последних достижений в области обработки естественного языка. Вместе мы сможем продвинуть вперед эту область и раскрыть весь потенциал ИИ на благо всех.

Спасибо!

Также спасибо VIT, Vellore, доктору PARTHASARATHY G и нашему HOD доктору SATHYARAJ R. А также Рагхаву Равишанкару, который сделал это со мной.

Написано мной, улучшено Клодом из Anthropic.

Ошибки:

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

Prompt : You were scared to cherish someone again: 
Output : Why would you be?