当前位置:   article > 正文

智谱AI GLM4开源!快速上手体验_glm4-9b

glm4-9b

目录

前言

在线体验 

 模型链接及下载

模型推理

使用Transformers 大语言模型推理代码

多模态模型推理代码

使用vLLM推理

前言

        GLM-4-9B 是智谱 AI 推出的最新一代预训练模型 GLM-4 系列中的开源版本。 在语义、数学、推理、代码和知识等多方面的数据集测评中,GLM-4-9B 及其人类偏好对齐的版本 GLM-4-9B-Chat 均表现出较高的性能。GLM-4-9B 模型具备了更强大的推理性能、更长的上下文处理能力、多语言、多模态和 All Tools 等突出能力。GLM-4-9B 系列模型包括:基础版本 GLM-4-9B(8K)、对话版本 GLM-4-9B-Chat(128K)、超长上下文版本 GLM-4-9B-Chat-1M(1M)和多模态版本 GLM-4V-9B-Chat(8K)。

如下为GLM-4-9B-Chat模型的经典任务评测结果:

图片

在线体验 

魔搭社区使用自研开源的推理加速引擎dash-infer也转换了模型格式,支持在CPU上运行,并搭建了体验链接

魔搭社区汇聚各领域最先进的机器学习模型,提供模型探索体验、推理、训练、部署和应用的一站式服务。icon-default.png?t=N7T8https://modelscope.cn/studios/dash-infer/GLM-4-Chat-DashInfer-Demo同时创空间体验也支持vLLM推理,体验链接:

魔搭社区汇聚各领域最先进的机器学习模型,提供模型探索体验、推理、训练、部署和应用的一站式服务。icon-default.png?t=N7T8https://modelscope.cn/studios/ZhipuAI/glm-4-9b-chat-vllm/summary

效果体验

语义创作:

图片

数学:

<计算题>

图片

<应用题>

图片

推理:

图片

 模型链接及下载

GLM-4-9B-Chat

模型链接:

https://modelscope.cn/models/ZhipuAI/glm-4-9b-chat/summary

GLM-4-9B-Chat-1M

模型链接:

https://modelscope.cn/models/ZhipuAI/glm-4-9b-chat-1m/summary

glm-4-9b

模型链接:

https://modelscope.cn/models/ZhipuAI/glm-4-9b/summary

glm-4v-9b

模型链接:

https://modelscope.cn/models/ZhipuAI/glm-4v-9b/summary

模型weights下载

  1. from modelscope import snapshot_download
  2. model_dir = snapshot_download("ZhipuAI/glm-4-9b-chat")

模型推理

使用Transformers 大语言模型推理代码

  1. import torch
  2. from modelscope import AutoModelForCausalLM, AutoTokenizer
  3. device = "cuda"
  4. tokenizer = AutoTokenizer.from_pretrained("ZhipuAI/glm-4-9b-chat",trust_remote_code=True)
  5. query = "你好"
  6. inputs = tokenizer.apply_chat_template([{"role": "user", "content": query}],
  7. add_generation_prompt=True,
  8. tokenize=True,
  9. return_tensors="pt",
  10. return_dict=True
  11. )
  12. inputs = inputs.to(device)
  13. model = AutoModelForCausalLM.from_pretrained(
  14. "ZhipuAI/glm-4-9b-chat",
  15. torch_dtype=torch.bfloat16,
  16. low_cpu_mem_usage=True,
  17. trust_remote_code=True
  18. ).to(device).eval()
  19. gen_kwargs = {"max_length": 2500, "do_sample": True, "top_k": 1}
  20. with torch.no_grad():
  21. outputs = model.generate(**inputs, **gen_kwargs)
  22. outputs = outputs[:, inputs['input_ids'].shape[1]:]
  23. print(tokenizer.decode(outputs[0], skip_special_tokens=True))

显存占用:

多模态模型推理代码

  1. import torch
  2. from PIL import Image
  3. from modelscope import AutoModelForCausalLM, AutoTokenizer
  4. device = "cuda"
  5. tokenizer = AutoTokenizer.from_pretrained("ZhipuAI/glm-4v-9b", trust_remote_code=True)
  6. query = '这样图片里面有几朵花?'
  7. image = Image.open("/mnt/workspace/玫瑰.jpeg").convert('RGB')
  8. inputs = tokenizer.apply_chat_template([{"role": "user", "image": image, "content": "这样图片里面有几朵花?"}],
  9. add_generation_prompt=True, tokenize=True, return_tensors="pt",
  10. return_dict=True) # chat mode
  11. inputs = inputs.to(device)
  12. model = AutoModelForCausalLM.from_pretrained(
  13. "ZhipuAI/glm-4v-9b",
  14. torch_dtype=torch.bfloat16,
  15. low_cpu_mem_usage=True,
  16. trust_remote_code=True
  17. ).to(device).eval()
  18. gen_kwargs = {"max_length": 500, "do_sample": True, "top_k": 1}
  19. with torch.no_grad():
  20. outputs = model.generate(**inputs, **gen_kwargs)
  21. outputs = outputs[:, inputs['input_ids'].shape[1]:]
  22. print(tokenizer.decode(outputs[0]))

使用vLLM推理

  1. from modelscope import AutoTokenizer
  2. from vllm import LLM, SamplingParams
  3. from modelscope import snapshot_download
  4. # GLM-4-9B-Chat
  5. max_model_len, tp_size = 131072, 1
  6. model_name = snapshot_download("ZhipuAI/glm-4-9b-chat")
  7. prompt = '你好'
  8. tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
  9. llm = LLM(
  10. model=model_name,
  11. tensor_parallel_size=tp_size,
  12. max_model_len=max_model_len,
  13. trust_remote_code=True,
  14. enforce_eager=True,
  15. )
  16. stop_token_ids = [151329, 151336, 151338]
  17. sampling_params = SamplingParams(temperature=0.95, max_tokens=1024, stop_token_ids=stop_token_ids)
  18. inputs = tokenizer.apply_chat_template([{'role': 'user', 'content': prompt}], add_generation_prompt=True)[0]
  19. outputs = llm.generate(prompt_token_ids=[inputs], sampling_params=sampling_params)
  20. generated_text = [output.outputs[0].text for output in outputs]
  21. print(generated_text)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/794486
推荐阅读
相关标签
  

闽ICP备14008679号