首页 > 其他分享 >llama大模型部署

llama大模型部署

时间:2023-12-22 17:33:09浏览次数:28  
标签:部署 dtype 模型 torch state dict llama import model

看模型加载的参数设置.



import torch

# 初始化Half Tensor
h = torch.tensor([1.0,2.0,3.0], dtype=torch.half)
# h = torch.tensor([1.0,2.0,3.0], dtype=torch.float16) # 跟上面一行一样.

# 查看数据类型
print(h.dtype)
import accelerate
import bitsandbytes
from transformers import AutoTokenizer, AutoModelForCausalLM,TextIteratorStreamer
from transformers import AlbertTokenizer, AlbertModel
model = AlbertModel.from_pretrained('./albert',device_map='auto',torch_dtype=torch.float16,load_in_8bit=True,low_cpu_mem_usage=True)
# torch_dtype 模型本身的类型, 不写的话就自己根据权重文件查询出来.这个是权重文件本身决定的,一般在config.json里面
# load_in_8bit 会把模型转化为8bit类型.这个可以自己设置.

print(1)
  • low_cpu_mem_usage algorithm:

      This is an experimental function that loads the model using ~1x model size CPU memory
    
      Here is how it works:
    
      1. save which state_dict keys we have
      2. drop state_dict before the model is created, since the latter takes 1x model size CPU memory
      3. after the model has been instantiated switch to the meta device all params/buffers that
      are going to be replaced from the loaded state_dict
      4. load state_dict 2nd time
      5. replace the params/buffers from the state_dict
    
      Currently, it can't handle deepspeed ZeRO stage 3 and ignores loading errors
    

这个算法low_cpu_mem 如果设置True
那么他会进行.
把权重字典的keys保存下来.
然后把state_dict删除.
初始化模型.把需要加载的参数位置放到meta device里面.
再加载state_dict

可以节省cpu内存. 小内存时候需要打开.

标签:部署,dtype,模型,torch,state,dict,llama,import,model
From: https://www.cnblogs.com/zhangbo2008/p/17921689.html

相关文章

  • 项目部署体验
    docker部署踩的坑前提你需要拥有一个远程服务器或者是本地虚拟机安装dockerCentos安装dockerInstallDockerEngineonCentOS|DockerDocs部署后端部署mysqldockerrun-d-v数据卷名称:/var/lib/mysql-p3306:3306-eMYSQL_ROOT_PASSWORD=123456--restartalways......
  • 谷歌 | Duet AI 让洞察、聚类模型和可视化变得简单
    【CloudAce云一是GoogleCloud全球战略合作伙伴,在亚太地区、欧洲、美洲和非洲拥有二十多个办公室。CloudAce在谷歌专业领域认证及专业知识目前排名全球第一位,并连续多次获得GoogleCloud各类奖项。作为谷歌云托管服务商,我们提供谷歌云、谷歌地图、谷歌办公套件、谷歌云认证......
  • HarmonyOS 初体验 (五)了解UI、应用模型
    上一篇HarmonyOS初体验(四)项目运行UI设计:ArkUI框架地址HarmonyOS提供了一套UI开发框架,即方舟开发框架(ArkUI框架)https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/start-overview-0000001478061421-V2基本概念UI:即用户界面。开发者可以将应用的用......
  • 数字孪生模型:重塑智能世界的关键技术
    随着科技的飞速发展,我们正在逐步迈入一个全新的智能时代。在这个时代中,数字孪生模型成为了推动社会进步和产业变革的重要力量。它不仅改变了我们对世界的认知方式,还为各行各业带来了前所未有的创新与突破。 一、数字孪生模型的定义与原理数字孪生模型,顾名思义,是一种将物理世界......
  • 在一块开发板上同时实现大模型语音交互和视觉识别
    开发板简介CSK6视觉语音大模型开发套件同时实现了大模型语音交互和视觉识别。功能概述使用聆思CSK6011A芯片作为主控,板载16MBFlash集成摄像头、麦克风、扬声器、屏幕等丰富外设配件配套多模态应用示例,支持快速上手体验大模型语音交互、智能视觉等AI应用板载DAPLINK调试器,外接......
  • LLM-大模型训练-全参数预训练
    随着深度学习技术的不断发展,大模型训练成为了自然语言处理(NLP)领域的重要研究方向。LLM(LargeLanguageModel)作为其中的一种,在预训练过程中采用了全参数预训练(Full-ParamPre-Training)的方法。本文将重点介绍LLM中的全参数预训练方法及其对LLaMA等模型的影响。一、全参数预训练全参......
  • Fine-tuning的PEFT库:大模型高效调参新思路
    随着深度学习技术的不断发展,大模型在各种任务中展现出了强大的性能。然而,大模型训练和调优过程需要消耗大量的计算资源和时间。为了解决这个问题,近年来,一种名为“大模型高效调参”的技术逐渐受到研究者的关注。其中,PEFT库(Parameter-EfficientFine-Tuning)是一种非常具有代表性的方......
  • 什么是3D模型LOD:细节级别
    在线工具推荐:3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.jsAI自动纹理开发包 - YOLO虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎介绍现代游戏在提供具有多个物体和角色的令人叹为观止的逼真环境方面达到了很......
  • 关于倾斜摄影三维模型数据的几何坐标变换的必要性分析
    关于倾斜摄影三维模型数据的几何坐标变换的必要性分析   倾斜摄影三维模型数据的几何坐标变换是将相机坐标系下获取的倾斜摄影图像转换为地理坐标系下的三维模型数据,从而实现地理空间信息的表达与分析。几何坐标变换的重要性在于它对于模型数据的精度、准确性和可用性有......
  • ArgoCD和Argo Rollouts自动化部署应用
    环境说明使用ArgoRollouts部署nginx应用:1.使用Rollout部署nginx2.采用canary部署策略3.结合Analysis进行渐进式交付4.结合IstioVirtualService进行自动化流量分割和流量迁移5.部署清单放在gitrepo中使用ArgoCD进行自动化部署:1.使用Application监视GitRepositor......