Meta-Llama-3.1-8B

模型文件:

文件名大小
.gitattributes1.52 kB
LICENSE7.63 kB
README.md44 kB
USE_POLICY.md4.69 kB
config.json855 Bytes
generation_config.json184 Bytes
model-00001-of-00004.safetensors4.98 GB
model-00002-of-00004.safetensors5 GB
model-00003-of-00004.safetensors4.92 GB
model-00004-of-00004.safetensors1.17 GB
model.safetensors.index.json24 kB
special_tokens_map.json296 Bytes
tokenizer.json9.09 MB
tokenizer_config.json55.4 kB

模型总大小
总大小约为16.18 GB。

本地运行环境标准评估

存储需求

  • 至少需要 20 GB的可用存储空间来存储模型文件。

内存需求

  • 运行如此大的模型可能需要不低于16GB的内存。

计算需求

  • 处理大型语言模型需要强大的计算能力,特别是如果需要进行实时推理或生成。
  • CPU:大于16GB的内存,32GB不错。
  • GPU:对于加速模型训练和推理,GPU是必需的。

软件需求

  • 可能需要特定的库和框架来加载和运行模型,如PyTorch、Transformers等。
  • 这些库和框架可能需要特定版本的操作系统、编译器和其他依赖项。
  • 还需要安装与GPU兼容的CUDA和cuDNN库(如果使用NVIDIA GPU)。

测试案例:

import transformers  
import torch  
from accelerate import init_empty_weights, load_checkpoint_and_dispatch  
import os  
import time
model_path = r"D:\Meta-Llama-3.1-8B-Instruct"  
offload_folder = r"D:\offload_folder"  
os.makedirs(offload_folder, exist_ok=True)  
if torch.cuda.is_available():  
    device = 0 
    torch_dtype = torch.float16
else:  
    device = -1
    torch_dtype = torch.float32    
with init_empty_weights():  
    model = transformers.AutoModelForCausalLM.from_config(transformers.AutoConfig.from_pretrained(model_path))  
start_time = time.time()  
model = load_checkpoint_and_dispatch(  
    model,  
    model_path,  
    device_map="auto",  
    dtype=torch_dtype,  
    offload_folder=offload_folder,  
    offload_state_dict=True  
)  
end_time = time.time()  
print(f"Checkpoint loaded and dispatched in {end_time - start_time:.2f} seconds.")  
pipeline = transformers.pipeline(  
    "text-generation",  
    model=model,  
    tokenizer=model_path  
)  
system_message = "You are an AI-powered writing assistant capable of creating insightful analyses!"  
user_message = "Please help me write an analysis on the necessity of using AI technology for SEO innovation."  
input_text = f"{system_message}\nUser: {user_message}\nAI Writing Assistant:" 
with torch.no_grad():  
    outputs = pipeline(  
        input_text,  
        max_new_tokens=50,  
        num_beams=1,  
        do_sample=True,  
        top_k=50,  
        temperature=0.7  
    )  
generated_text = outputs[0]["generated_text"]  
print(generated_text)  
file_path = r"D:\laomaotest\generated_text.txt"  
os.makedirs(os.path.dirname(file_path), exist_ok=True)  
with open(file_path, "w", encoding="utf-8") as file:  
    file.write(generated_text)  
print(f"Generated text saved to {file_path}.")

测试用例解读:

  1. 导入必要的库
    • transformers:用于加载和运行预训练的语言模型。
    • torch:PyTorch库,用于深度学习计算。
    • accelerate:用于优化模型加载和运行的库,支持多GPU和CPU卸载。
    • ostime:用于文件操作和计时。
  2. 设置模型路径和卸载文件夹
    • 指定模型存储的路径和用于卸载模型权重的文件夹。
  3. 检查CUDA可用性并设置设备
    • 根据CUDA可用性选择设备(GPU或CPU)和数据类型(float16float32)。
  4. 加载模型配置并初始化空权重
    • 使用transformersAutoModelForCausalLM.from_configAutoConfig.from_pretrained加载模型配置。
    • 使用init_empty_weights上下文管理器初始化模型权重。
  5. 加载并分发模型权重
    • 使用load_checkpoint_and_dispatch函数加载模型权重,并根据设备映射分发权重。
  6. 创建文本生成管道
    • 使用transformers.pipeline创建一个文本生成管道,指定模型、分词器和任务类型(”text-generation”)。
  7. 定义输入文本和系统消息
    • 设置系统消息和用户消息,用于生成文本的上下文。
  8. 生成文本
    • 使用管道生成文本,指定最大新令牌数、束搜索数量、采样设置等。
  9. 保存生成的文本
    • 将生成的文本保存到指定的文件路径。
  10. 打印消息
    • 打印加载模型的时间、生成的文本和保存文件的位置。

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注