MLM之Llama-3:Llama 3.2的简介、安装和使用方法、案例应用之详细攻略

MLM之Llama-3:Llama 3.2的简介、安装和使用方法、案例应用之详细攻略

目录

相关文章

LLMs之LLaMA:LLaMA的简介、安装和使用方法、案例应用之详细攻略

LLMs之LLaMA-2:LLaMA 2的简介(技术细节)、安装、使用方法(开源-免费用于研究和商业用途)之详细攻略

LLMs之Llama-3:Llama 3的简介、安装和使用方法、案例应用之详细攻略

LLMs之llama3-from-scratch:llama3-from-scratch(从头开始利用pytorch来实现并解读LLaMA-3模型的每层代码)的简介、核心思路梳理

LLMs之Llama-3.1:Llama 3.1的简介、安装和使用方法、案例应用之详细攻略

MLM之Llama-3:Llama 3.2的简介、安装和使用方法、案例应用之详细攻略

Llama 3.2 简介

1、Llama 3.2 的特点

2、模型评估

轻量级指令调优基准

视觉指令调整基准

Llama 3.2 的安装和使用方法

1、安装

(1)、下载模型

(2)、开发环境准备

(3)、使用模型进行推理和微调

(4)、部署

2、使用方法

第一步,采用Docker和VLLM部署并开启服务

T1、采用Docker部署本地LLM:直接使用Docker命令

T2、采用Docker Compose部署本地LLM

第二步,基于OpenAI Python SDK实现与本地LLM服务进行交互

第三步,交互测试:是否按照预期进行

3、在线测试

4、基于Ollama等框架实现推理

T1、基于Ollama实现本地部署并启用llama3.2:1b模型服务

Llama 3.2 的案例应用

1、移动设备上的本地智能应用

2、图像生成与分析

3、增强现实和虚拟现实

4、企业级应用


相关文章

LLMs之LLaMA:LLaMA的简介、安装和使用方法、案例应用之详细攻略

LLMs之LLaMA:LLaMA的简介、安装和使用方法、案例应用之详细攻略_chinese_calendar每年手动更新-CSDN博客

LLMs之LLaMA-2:LLaMA 2的简介(技术细节)、安装、使用方法(开源-免费用于研究和商业用途)之详细攻略

LLMs之LLaMA-2:LLaMA-2的简介(技术细节)、安装、使用方法(开源-免费用于研究和商业用途)之详细攻略_llama2-CSDN博客

LLMs之Llama-3:Llama 3的简介、安装和使用方法、案例应用之详细攻略

LLMs之Llama 3:Llama 3的简介、安装和使用方法、案例应用之详细攻略-CSDN博客

LLMs之llama3-from-scratch:llama3-from-scratch(从头开始利用pytorch来实现并解读LLaMA-3模型的每层代码)的简介、核心思路梳理

LLMs之llama3-from-scratch:llama3-from-scratch(从头开始利用pytorch来实现并解读LLaMA-3模型的每层代码)的简介、核心思路梳理-CSDN博客

LLMs之Llama-3.1:Llama 3.1的简介、安装和使用方法、案例应用之详细攻略

LLMs之Llama 3.1:Llama 3.1的简介、安装和使用方法、案例应用之详细攻略-CSDN博客

MLM之Llama-3:Llama 3.2的简介、安装和使用方法、案例应用之详细攻略

MLM之Llama-3:Llama 3.2的简介、安装和使用方法、案例应用之详细攻略_llama 3.2安装教程-CSDN博客

Llama 3.2 简介

2024年9月26日,Meta发布Llama 3.2,这是一款开源的大规模语言模型(LLM)集合,支持多种版本,覆盖从 1B、3B、11B 到 90B 参数规模。Llama 3.2 具有多模态能力,其中 1B 和 3B 版本仅支持文本处理,而 11B 和 90B 版本则能够处理文本和图像输入,并生成文本输出。通过 Llama 3.2,开发者可以在各种平台上进行模型的微调、蒸馏和部署,使其在多场景下得以应用。

Llama 3.2 是一个强大且灵活的开源 AI 模型家族,涵盖从小规模轻量模型到多模态巨型模型,适合广泛的场景和设备应用。通过其灵活的工具链和丰富的生态系统,开发者能够更快速地开发和部署高效的 AI 应用。

官网地址https://www.llama.com/

1、Llama 3.2 的特点

>> 多版本支持:提供从 1B 到 90B 参数规模的模型。较小的模型(1B、3B)可以在移动设备和边缘设备上高效运行,而较大的多模态模型(11B、90B)则可以处理图像输入,并在视觉推理等场景中表现优异。

>> 多模态能力:11B 和 90B 版本支持图像和文本输入,能够在高分辨率图像上进行推理和转换,如图像生成或信息提取。

>> 轻量高效:1B 和 3B 模型设计轻量化,适合在手机等本地设备上运行,可用于诸如会议摘要、调用本地日历等应用场景。

>> 多样的开发环境支持:开发者可以使用 Python、Node、Kotlin 和 Swift 等编程语言,在任意环境中构建和部署 Llama 3.2。

>> 开源生态系统:Llama Stack 工具链提供流畅的开发体验,原生支持代理工具调用、安全防护、增强生成等功能,并与开源社区高度兼容。

>> 广泛的基准测试:Llama 3.2 在超过 150 个数据集上进行评估,涵盖多种语言和任务领域,并在人类评估中表现出优异的性能。

2、模型评估

轻量级指令调优基准

视觉指令调整基准

Llama 3.2 的安装和使用方法

1、安装

(1)、下载模型

>> 可从 Hugging Face 或官方提供的资源中下载 Llama 3.2 模型。
>> 根据需要选择合适的模型大小,如轻量级的 1B 和 3B 模型,或者支持多模态的 11B 和 90B 模型。

(2)、开发环境准备

>> 安装 Llama 相关的开发工具链,如 Llama Stack,它能提供优化的开发和部署体验。
>> 支持多种编程语言,如 Python、Node.js、Kotlin 和 Swift,开发者可以根据需求选择合适的语言进行开发。

(3)、使用模型进行推理和微调

>> 在设备上运行轻量化模型,可以进行文本摘要、信息检索等任务。
>> 在需要图像处理的场景中,使用 11B 和 90B 模型进行多模态推理,如图像生成和识别。

(4)、部署

>> Llama 3.2 支持本地部署、边缘部署和云部署,开发者可以选择合适的环境进行部署。
>> 配合 Llama Stack,开发者可以通过标准化 API 更快地进行模型部署和迭代。

2、使用方法

第一步,采用Docker和VLLM部署并开启服务

提供了两种部署方式,一种是直接使用Docker命令,另一种是使用Docker Compose。两种方式都需要映射端口、挂载缓存目录,并设置环境变量。

Docker

Docker Compose

简介

Docker是一种容器化技术,它允许开发者打包应用程序及其依赖环境到一个可移植的容器中,然后这个容器可以在任何支持Docker的环境中运行。在代码中,使用Docker的命令行工具来直接运行一个容器。

Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。它使用YAML文件来配置应用程序的服务。在代码中,Docker Compose的使用是通过创建一个docker-compose.yml文件来定义服务,然后通过运行docker-compose up命令来启动所有定义的服务。

区别

>> 复杂性:Docker命令行工具通常用于运行单个容器,而Docker Compose用于运行多服务应用程序。

>> 配置方式:Docker命令行工具直接在命令中指定容器选项,而Docker Compose通过YAML文件来配置容器和服务。

>> 功能范围:Docker Compose提供了更多的功能,如服务依赖管理、服务启动顺序控制等。

关系

>> Docker Compose实际上是在Docker之上的一个抽象层,它依赖于Docker来运行容器。

>> Docker Compose通过读取docker-compose.yml文件中的配置来决定如何使用Docker运行容器。

>> 使用Docker Compose时,你仍然是在使用Docker容器,但是是通过更高级别的抽象来管理它们。

T1、采用Docker部署本地LLM:直接使用Docker命令
docker run --runtime nvidia --gpus all \ 
    -v ~/.cache/huggingface:/root/.cache/huggingface \ 
    -- env  "HUGGING_FACE_HUB_TOKEN=<secret>" \ 
    -p 8000:8000 \ 
    --ipc=host \ 
    vllm/vllm-openai:latest \ 
    --model AMead10/Llama-3.2-3B-Instruct-AWQ \ 
    --quantization awq \ 
--max-model-len 2048

T2、采用Docker Compose部署本地LLM
services:
  vllm:
    image: vllm/vllm-openai:latest
    command: ["--model", "AMead10/Llama-3.2-3B-Instruct-AWQ", "--max-model-len", "2048", "--quantization", "awq"]
    ports:
      - 8000:8000
    volumes:
      - ~/.cache/huggingface:/root/.cache/huggingface
    environment:
      - "HUGGING_FACE_HUB_TOKEN=<secret>"
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]

第二步,基于OpenAI Python SDK实现与本地LLM服务进行交互

需修改base_url、api_key和model变量

%pip install openai 

from openai import OpenAI 
client = OpenAI( 
    base_url= "http://localhost:8000/v1" , 
    api_key= "None" , 
) 

chat_completion = client.chat.completions.create( 
    messages=[ 
        { 
            "role" : "user" , 
            "content" : "Say this is a test" , 
        } 
    ], 
    model= "AMead10/Llama-3.2-3B-Instruct-AWQ" , 
)

第三步,交互测试:是否按照预期进行

通过发送一个测试消息并打印回复,来验证本地LLM服务是否正常运行。

print(chat_completion.choices[ 0 ].message.content)

3、在线测试

址:https://www.meta.ai/?utm_source=llama_meta_site&utm_medium=web&utm_content=Llama_hero&utm_campaign=Sept_moment

4、基于Ollama等框架实现推理

T1、基于Ollama实现本地部署并启用llama3.2:1b模型服务

ollama run llama3.2:1b

Llama 3.2 的案例应用

1、移动设备上的本地智能应用

   - 通过 1B 和 3B 模型,用户可以在手机上运行本地智能助手,实现会议摘要、调用日历等功能,而不需要依赖云端处理,提升隐私保护。

2、图像生成与分析

   - 利用 11B 和 90B 模型的多模态能力,用户可以对高分辨率图像进行推理,如将输入图像转化为全新的图像,或从周围环境的图像中提取详细信息。

3、增强现实和虚拟现实

   - 在增强现实(AR)和虚拟现实(VR)应用中,Llama 3.2 的多模态模型可以用于图像理解和生成,帮助用户更深入地与虚拟环境互动。

4、企业级应用

   - 媒体公司和大企业可以通过 Llama Stack 部署 Llama 3.2 来优化工作流、开发高效的智能工具。例如,使用 90B 模型进行复杂的数据分析和视觉推理,提高业务效率。

### 部署微调 LLaMA-Factory 模型 #### 准备工作环境 为了在 Windows 上成功部署并微调 LLaMA-Factory 模型,需要先安装必要的依赖项。这包括 Python PyTorch 的设置。 ```bash conda create -n llama-env python=3.9 conda activate llama-env pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 ``` 这些命令创建了一个新的 Conda 虚拟环境,并安装了 CUDA 版本的 PyTorch 库[^1]。 #### 安装 LLaMA-Factory 及其依赖库 接下来要克隆 LLaMA-Factory 仓库到本地计算机: ```bash git clone https://github.com/facebookresearch/llama.git cd llama pip install -e . ``` 这段代码会下载项目源码并将它作为可编辑包安装,使得可以随时修改代码而不必重新打包发布。 #### 下载预训练模型权重文件 尽管 LLaMA-Factory 是一个用于构建自定义语言模型的强大工具集,但是实际应用中通常不会从头开始训练整个网络结构;相反,更常见的是基于现有的高质量参数初始化新任务的学习过程——即迁移学习方法的一部分。因此,在此之前还需要获取官方发布的预训练模型权重来加载至框架内。 可以通过如下方式获得所需资源链接: 访问 Hugging Face Model Hub 或者其他公开平台找到合适的版本进行下载保存于指定路径下以便后续使用。 #### 微调模型 完成上述准备工作之后就可以着手准备自己的数据集以及调整超参来进行特定领域上的优化操作了。假设已经有了标注好的文本对儿组成的 CSV 文件形式的数据集,则可以直接利用内置脚本来启动训练流程: ```python from transformers import Trainer, TrainingArguments, AutoModelForCausalLM, DataCollatorForLanguageModeling import datasets model_name_or_path = "path_to_pretrained_model" train_file = "./data/train.csv" dataset = datasets.load_dataset(&#39;csv&#39;, data_files={&#39;train&#39;: train_file}) tokenizer = AutoTokenizer.from_pretrained(model_name_or_path) def tokenize_function(examples): return tokenizer(examples[&#39;text&#39;]) tokenized_datasets = dataset.map(tokenize_function, batched=True) data_collator = DataCollatorForLanguageModeling(tokenizer=tokenizer, mlm_probability=0.15) training_args = TrainingArguments( output_dir="./results", evaluation_strategy="epoch", learning_rate=2e-5, per_device_train_batch_size=8, per_device_eval_batch_size=8, num_train_epochs=3, weight_decay=0.01, ) model = AutoModelForCausalLM.from_pretrained(model_name_or_path) trainer = Trainer( model=model, args=training_args, train_dataset=tokenized_datasets["train"], eval_dataset=None, data_collator=data_collator, ) trainer.train() ``` 该段Python程序展示了如何通过HuggingFace Transformers库中的`Trainer`类简化微调过程,同时指定了评估策略、学习率等重要参数配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个处女座的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值