transformers之SFT和VLLM部署Llama3-8b模型

1. 环境安装

pip install -q -U bitsandbytes
pip install -q -U git+https://github.com/huggingface/transformers.git
pip install -q -U git+https://github.com/huggingface/peft.git
pip install -q -U git+https://github.com/huggingface/accelerate.git
pip install trl

2. accelerator准备

import os
import torch
from datasets import load_dataset
from transformers import (
    AutoModelForCausalLM,
    AutoTokenizer,
    BitsAndBytesConfig,
    HfArgumentParser,
    TrainingArguments,
    pipeline,
    logging,
)
from peft import LoraConfig, PeftModel
from trl import SFTTrainer
from accelerate import FullyShardedDataParallelPlugin, Accelerator
from torch.distributed.fsdp.fully_sharded_data_parallel import FullOptimStateDictConfig, FullStateDictConfig


fsdp_plugin = FullyShardedDataParallelPlugin(
    state_dict_config=FullStateDictConfig(offload_to_cpu=True, rank0_only=False),
    optim_state_dict_config=FullOptimStateDictConfig(offload_to_cpu=True, rank0_only=False),
)

accelerator = Accelerator(fsdp_plugin=fsdp_plugin)

3. 加载llama3和数据

因为使用的是base模型,所以没有一个严格的提示模板需要遵循。使用的数据集遵循LLama3的模板格式,因此对于使用Llama3聊天格式的下游任务来说应该没问题。如果你使用自己的数据,你可以自定义格式,在下游任务中也使用相同的格式即可。

base_model_id = "meta-llama/Meta-Llama-3-8B"
dataset_name = "scooterman/guanaco-llama3-1k"
new_model = 
关于Llama 3.2模型的关键信息如下: - **发布日期与改进** Llama 3.2是在2024年9月份发布的版本,对原有的8B70B Llama 3.1模型进行了增强,并新增了11B90B多模态模型,赋予其视觉能力[^1]。 - **适用场景** 对于边缘设备移动应用的任务,如个人信息管理或多语言知识检索,存在一款非常合适的选择——即3B文本模型,该模型不仅适合这些应用场景而且体积较小,便于部署在资源受限环境中[^2]。 - **特性亮点** - 视觉能力推理性能 作为当前最强大的开源多模态模型之一,Llama 3.2 Vision展示了卓越的视觉理解推理能力,在多种任务上表现出色,比如视觉推理与定位、文档问答及图像到文本搜索等。尤其值得注意的是,这种能力让Llama 3.2能够生成高质量的思维链条(CoT),从而显著提升了复杂问题解决时的表现。 - 开源性与定制化潜力 此系列模型是开源性质并且允许高度个性化配置;特别是针对那些寻求高性能但又希望保持灵活性的应用开发者而言尤为理想。除了常规的基础训练之外,还有经过特定领域指导调整过的变体可供选择,进一步提高了实际使用价值[^3]。 - 技术细节 - 基础结构与优化措施 基于先前版本成功的自回归语言模型(Transformer)架构,Llama 3.2继续沿用了这一设计思路,并通过引入监督微调(SFT)以及利用人类反馈驱动的学习机制(RLHF),来确保输出结果既符合预期又能体现人文关怀社会责任感. ```python # 示例代码展示如何加载并初始化一个预训练后的Llama 3.2模型 from transformers import AutoModelForVisionQA, AutoProcessor model_name_or_path = "meta-llama/Llama-3.2-vision" processor = AutoProcessor.from_pretrained(model_name_or_path) model = AutoModelForVisionQA.from_pretrained(model_name_or_path) image_url = "https://example.com/image.jpg" text_query = "What's in this picture?" inputs = processor(image=image_url, text=text_query, return_tensors="pt") outputs = model.generate(**inputs) answer = processor.decode(outputs[0], skip_special_tokens=True) print(f"The answer to '{text_query}' is: {answer}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值