В рамках недавнего исследовательского проекта в нашем университете у нас была прекрасная возможность погрузиться в мир больших языковых моделей. В частности, мы сосредоточили наши усилия на модели 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?