将hugging face下的 meta-llama/Llama-3.1-8B 模型下载到本地测试运行

部署运行你感兴趣的模型镜像

hugging face的使用

官网链接:点击跳转 需要梯子才可以访问,文件下载的时候也需要魔法
hugging face 界面 请先登录注册,接着需要申请使用:
在这里插入图片描述
一直往下滑,填写个人信息,这里需要注意:尽量填其他国家,申请之后需要耐心等待,审核有时候比较快有时候比较慢,大家注意登录时填写的邮箱,申请通过后会在邮箱收到一个链接,点击跳转之后就可以使用啦!
在这里插入图片描述

模型的下载

点击Files and versions,在下面的文件中,original文件夹不用下载,其他的文件都直接点击下载按钮下载到本地同一个文件夹目录下
在这里插入图片描述

meta-llama/Llama-3.1-8B模型的使用

下面给出 meta-llama/Llama-3.1-8B模型的使用,注意代码中的 auth_token 需要替换成前面创建的token。
注意检查自己的gpu型号和内存,这里采用的4090 24G运行的,最低可以采用 RTX 3090 24GB
如果是RTX 3060 12GB,需要进行4-bit量化处理,生成时启用cpu_offload应对长上下文。

# 安装库:pip install transformers torch
  
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
import time
import os

# 配置环境变量(优化显存分配)
os.environ["TOKENIZERS_PARALLELISM"] = "false"  # 避免tokenizer多线程警告
os.environ["PYTORCH_CUDA_ALLOC_CONF"] = "expandable_segments:True"  # 防止显存碎片
  
try: 
    model_path = "xxx"  # 填写前面下载的文件夹目录 
    # 全局路径如:"E:\\datasets\\meta-llama"  注意要用双斜杠

    # 加载分词器和模型(FP16原生精度,无需量化)
    tokenizer = AutoTokenizer.from_pretrained(model_path)
    model = AutoModelForCausalLM.from_pretrained(
        model_path,
        torch_dtype=torch.float16,  # FP16加速
        device_map="auto",  # 自动分配GPU
        low_cpu_mem_usage=True  # 减少CPU内存占用
    ).eval()  # 设为评估模式(减少计算图缓存) 
    
    # 输入提示 
    prompt = """ 请用中文回答以下问题:
    问题:你认为学习AI有意义吗?
    回答: """
    print(f"\n📝 输入提示: {prompt}")

    # 生成回复(启用优化参数)   
    input_ids = tokenizer(prompt, return_tensors="pt").to("cuda")
    output = model.generate(
        **input_ids,
        max_new_tokens=500,  # 生成长度
        temperature=0.7,  # 控制随机性
        top_p=0.9,  # 核采样(提高多样性)
        do_sample=True,
        repetition_penalty=1.1,  # 避免重复
        eos_token_id=tokenizer.eos_token_id,  # 标记生成文本的结束位置
        pad_token_id=tokenizer.eos_token_id  # 避免警告   (Llama-3 需要)
    )
 
    # 打印结果(结构化输出)
    print("\n--- 回复内容 ---")
    print(tokenizer.decode(output[0], skip_special_tokens=True))

except Exception as e: 
    print(f"错误类型: {type(e).__name__}")
    print(f"详细错误: {str(e)}")
    if "CUDA out of memory" in str(e):
        print("显存不足!建议:1) 减少max_new_tokens;2) 关闭其他GPU进程")

finally: 
    torch.cuda.empty_cache()  # 清空显存

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值