[Большая модель AI] Используйте LORA для точной настройки большой модели ChatGLM3-6B с нуля и обучения с использованием частных данных.
[Большая модель AI] Используйте LORA для точной настройки большой модели ChatGLM3-6B с нуля и обучения с использованием частных данных.

Навигация по каталогу

  • 1.Что такое ChatGLM3-6B
  • 2. Что такое технология тонкой настройки LORA?
  • 3. Вычислительная мощная платформа
  • 4. Настройка среды
    • 4.1 Создайте и активируйте инструмент conda виртуальной среды
    • 4.2 Проверьте версию CUDA и сопоставьте ее с версией факела.
    • 4.3 скачать git lfs
    • 4.4 Загрузка модели и получение кода
    • 4.5 Загрузка зависимостей
  • 5 Тонкая настройка модели
    • 5.1 Подготовка данных
    • 5.2 Тонкая настройка LORA
    • 5.3 Сравнение до и после тонкой настройки
  • 6 Резюме

1.Что такое ChatGLM3-6B
  • ChatGLM3 Это Чжипу ИИ и Университет Цинхуа. KEG Диалоговая предтренировочная модель, выпущенная совместно лабораторией. ЧатGLM3-6B да ChatGLM3 Модель с открытым исходным кодом в этой серии сохраняет многие превосходные особенности первых двух поколений Модели, такие как плавный диалог и низкий порог развертывания ChatGLM3-6B. Введены следующие функции:
  • Более мощная базовая модель: ChatGLM3-6B База Модель ChatGLM3-6B-Base Приняты более разнообразные данные обучения, больше достаточных этапов обучения и более разумные стратегии обучения. Оценка набора данных с разных точек зрения, таких как семантика, математика, рассуждения, код, знания и т. д., показывает, что * ChatGLM3-6B-Base Имейте в 10B ниже База Самая сильная производительность в Модели*.
  • Более полная поддержка функций: ChatGLM3-6B Принятие нового дизайна Prompt Формат , помимо обычного многоходового диалога. В то же время встроенная поддержка вызовов инструментов (функция Вызов), выполнение кода (Код переводчик) и Agent задачи и другие сложные сценарии.
  • Более полная последовательность с открытым исходным кодом: В дополнение к диалогу Модель ChatGLM3-6B Кроме того, База Модель также имеет открытый исходный код. ChatGLM3-6B-Base , длинные текстовые разговоры Модель ChatGLM3-6B-32K и еще больше укрепить способность понимать длинные тексты ЧатGLM3-6B-128K. Все вышеперечисленные права полностью открыты для академических исследований. , заполняя Вопросник После регистрации также разрешено бесплатное коммерческое использование.
2. Что такое технология тонкой настройки LORA?
  • Технология тонкой настройки LoRA (Low-Rank Adaptation)да Инструмент для тонкой настройки больших предварительно обученных языков.Модельметод。Основная идея этой технологиидачерез оригинал Модель Введение небольшого количества дополнительных параметров для достижения Модельтонкая настройка,Без изменения всех параметров Модели. Делая это, сохраняя при этом большую часть знаний из модели предварительного обучения.,Адаптируйте модель к конкретной задаче или набору данных.
  • LoRAГлавным образом через Модель Введем две матрицы низкого ранга в каждый слой преобразователя(A и B)осознать。Эти матрицы умножаются на исходную матрицу внимания или матрицу весов сети прямого распространения.,ввести новые обучаемые параметры. на практике,Количество добавляемых таким образом параметров намного меньше общего количества параметров исходной Модели.,Это значительно снижает требования к вычислительным ресурсам и памяти во время точной настройки.
  • Технология Ло РАОсобенно подходит для быстрого развертывания в средах с ограниченными ресурсами.Модельсцена,Например, при обработке большого количества запросов пользователей на мобильном устройстве или в облачном сервисе. также,Этот метод также подходит для приложений, требующих частых обновлений Модели.
3. Вычислительная мощная платформа
  • Поскольку точная настройка модели требует большой вычислительной мощности,Более высокие требования к графическому процессору,написания Мелкие партнеры арендуют в пользование серверы вычислительной платформы.
  • Среда, используемая в этой статье: Ubantu + RTX4090 24G.
  • Вы можете арендовать его прямо на платформе вычислительной мощности.
Вставьте сюда описание изображения
Вставьте сюда описание изображения
4. Настройка среды
4.1 Создайте и активируйте инструмент conda виртуальной среды
  • Чтобы установить conda, рекомендуется установить Anaconda напрямую и локально.
Язык кода:javascript
копировать
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh
  • conda create -n chatglm3 python=3.11
  • conda activate chatglm3
4.2 Проверьте версию CUDA и сопоставьте ее с версией факела.
  • Введите команду nvidia-smi
Вставьте сюда описание изображения
Вставьте сюда описание изображения
  • Проверьте соответствие версии: https://pytorch.org/get-started/previous-versions/ Просто измените соответствующую версию файла require.txt.
Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения
4.3 скачать git lfs
  • Если вы хотите использовать git для увеличения данных, вам необходимо скачать git lfs
  • Работа Ubuntu (разные системы работают по-разному Mac использует Brew для прямой установки) Установить в системе Ubuntu Git Large File Storage (Git LFS) Шаги следующие:

Установите Git (если он еще не установлен): Убедитесь, что Git установлен в вашей системе. Git можно установить, выполнив следующую команду:

Язык кода:javascript
копировать
sudo apt-get update
sudo apt-get install git

Добавить Git Склад пакетов LFS: Чтобы установить Git Для LFS вам необходимо сначала добавить репозиторий пакетов в вашу систему. Используйте следующую команду:

Язык кода:javascript
копировать
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash

Установить Git LFS: После добавления репозитория вы можете установить его, выполнив следующую команду Git LFS:

Язык кода:javascript
копировать
sudo apt-get install git-lfs

Настройте Git LFS: После завершения установки вам необходимо запустить следующую команду, чтобы Настроить Git LFS:

Язык кода:javascript
копировать
git lfs install

это будет Настройте Git Глобальный хук Git для LFS.

4.4 Загрузка модели и получение кода
  • Адрес загрузки модели https://huggingface.co/THUDM/chatglm3-6b Нужен доступ к Интернету с научной точки зрения
  • Или рекомендации https://www.modelscope.cn/models/ZhipuAI/chatglm3-6b/ можно скачать напрямую.
  • git clone + адрес .git — 》git clone https://huggingface.co/THUDM/chatglm3-6b
  • Получите официальный код: git clone https://github.com/THUDM/ChatGLM3.git.
Вставьте сюда описание изображения
Вставьте сюда описание изображения
4.5 Загрузка зависимостей
  • Войдите в корневой каталог извлеченного кода и запустите загрузку всех связанных зависимостей.
  • pip install -r requirements.txt
5 Тонкая настройка модели
5.1 Подготовка данных
  • Здесь вам нужно подготовить данные в формате json и привести их в соответствие с официальным форматом, есть train.jsonitrain.jsonданные. Просто сохраните его в каталоге проекта. Формат следующий
  • Просто сделай это сам
Язык кода:javascript
копировать
{"conversations": [{"role": "user", "content": "Привет"}, {"role": "assistant", "content": «Привет, я да Дзен больших данные, автор Дзен больших лаборатория тонкой настройки данных Созданный нами помощник по искусственному интеллекту, чем я могу вам помочь? "}]}
{"conversations": [{"role": "user", "content": "Привет, как тебя зовут?"}, {"role": "assistant", "content": «Здравствуйте! Я помощник по искусственному интеллекту, вы можете позвонить мне Дзен больших данные. Приятно познакомиться. Чем я могу вам помочь? "}]}
{"conversations": [{"role": "user", "content": «Можете ли вы представиться?»}, {"role": "assistant", "content": «Конечно, я да Дзен больших данные, автор Дзен больших лаборатория тонкой настройки данных Разработан помощник с искусственным интеллектом, который может дать вам ответы и помочь. "}]}
{"conversations": [{"role": "user", "content": «Кто тебя обучал?»}, {"role": "assistant", "content": "Дзен больших лаборатория тонкой настройки данных Для моей цели я прошел обучение — отвечать на вопросы пользователей и оказывать необходимую поддержку. "}]}
{"conversations": [{"role": "user", "content": «Какие у вас преимущества?»}, {"role": "assistant", "content": "как Дзен больших данных,Мои сильные стороны включают понимание естественного языка и способности к генерации,Я стремлюсь предоставлять пользователям точные и полезные ответы и решения. "}]}
5.2 Тонкая настройка LORA
  • Требования к оборудованию
  • Видеопамять: 24 ГБ и выше (рекомендуется использовать видеокарты NVIDIA с архитектурой sm80 или выше, такие как 30-я серия или A10, чтобы попробовать) Память: 16 ГБ Оперативная память: 2,9/16 ГБ Оперативная память графического процессора: 15,5/16,0 ГБ
  • Подготовьте две коллекции данных выше.,Выполните следующие команды для точной настройки,Соответствующий путь необходимо заменить собственной средой да.,Нужно некоторое время, чтобы подождать,данные Чем больше, тем дольше
  • !CUDA_VISIBLE_DEVICES=0 NCCL_P2P_DISABLE="1" NCCL_IB_DISABLE="1" /root/miniconda3/envs/chatglm3/bin/python finetune_hf.py /root/autodl-tmp/ChatGLM3/mydata /root/autodl-tmp/model/chatglm3-6b configs/lora.yaml
Вставьте сюда описание изображения
Вставьте сюда описание изображения
5.3 Сравнение до и после тонкой настройки
  • До тонкой настройки верно Дзен больших данных Имя этого блоггера — ерунда
Вставьте сюда описание изображения
Вставьте сюда описание изображения
  • После тонкой настройки Чтобы ответить, следуйте содержимому нашей коллекции данных.
  • командное рассуждение !CUDA_VISIBLE_DEVICES=0 NCCL_P2P_DISABLE="1" NCCL_IB_DISABLE="1" /root/miniconda3/envs/chatglm3/bin/python inference_hf.py output/checkpoint-3000/ --prompt "Дзен больших данныхда ВОЗ"
Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения
6 Резюме
  • На данный момент завершено ЛОРА. тонкая настройкаChatGLM3-6B,В целом данные, сделанные вами, недостаточно точны.,Эффект не так уж и хорош
  • Дополнительные методы тонкой настройки будут обновлены в будущем.
  • Друзья, которым нужен большой языковой пакет Модель, могут увидеть домашнюю страницу.
boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose