码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 智谱AI GLM4开源!快速上手体验


    目录

    前言

    在线体验 

     模型链接及下载

    模型推理

    使用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)

  • 相关阅读:
    我国职业教育的第一届本科生,毕业了!
    【安卓开发】安卓网络编程
    【数据代理+事件处理+计算属性与监视+绑定样式+条件渲染】
    带你一起理解什么是数据库分片?
    蓝牙耳机哪个音质好?1000左右音质最好的耳机
    【从零开始学习 SystemVerilog】6.4、SystemVerilog 接口—— Interface Modport
    DarkGate恶意软件通过消息服务传播
    速度收藏,Fiddler详细使用教程出炉!
    UE4 Unlua源码解析12 - Lua与UE4的混合GC
    《C++程序设计原理与实践》笔记 第18章 向量和数组
  • 原文地址:https://blog.csdn.net/qq_45156060/article/details/139479294
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号