让我们通过微调 Llama 3.2 来找到一些精神上的平静。
我们需要安装 unsloth,以更小的尺寸实现 2 倍的快速训练
!pip install unsloth
!pip uninstall unsloth -y && pip install --upgrade --no-cache-dir "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"
我们将使用 Unsloth,因为它显著提高了微调大型语言模型 (LLM) 的效率,特别是 LLaMA 和 Mistral。使用 Unsloth,我们可以使用高级量化技术(例如 4 位和 16 位量化)来减少内存并加快训练和推理速度。这意味着我们甚至可以在资源有限的硬件上部署强大的模型,而不会影响性能。
此外,Unsloth 广泛的兼容性和定制选项允许执行量化过程以满足产品的特定需求。这种灵活性加上其将 VRAM 使用量减少高达 60% 的能力,使 Unsloth 成为 AI 工具包中必不可少的工具。它不仅仅是优化模型,而是让尖端 AI 更易于访问,更高效地应用于现实世界。
对于微调,我使用了以下设置:
- Torch 2.1.1 - CUDA 12.1 可实现高效计算。
- Unsloth 可实现大型语言模型 (LLM) 的 2 倍更快的训练速度。
- H100 NVL GPU 可满足密集处理要求,但你可以使用功率较低的 GPU,即 Kaggle GPU。
为什么是 LLaMA 3.2?
它是开源且可访问的,并提供了根据特定需求进行自定义和微调的灵活性。由于 Meta 的模型权重是开源的,因此可以非常轻松地对任何问题进行微调,我们将在 Hugging Face 的心理健康数据集上对其进行微调
NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - AI模型在线查看 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割
1、Python库
数据处理和可视化
import os
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
plt.style.use('ggplot')
LLM模型训练:
import torch
from trl import SFTTrainer
from transformers import TrainingArguments, TextStreamer
from unsloth.chat_templates import get_chat_template
from unsloth import FastLanguageModel
from datasets import Dataset
from unsloth import is_bfloat16_supported
# Saving model
from transformers import AutoTokenizer, AutoModelForSequenceClass