【大模型】非常好用的大语言模型推理框架 bigdl-llm,现改名为 ipex-llm

非常好用的大语言模型推理框架 bigdl-llm,现改名为 ipex-llm

bigdl-llm

IPEX-LLM is a PyTorch library for running LLM on Intel CPU and GPU (e.g., local PC with iGPU, discrete GPU such as Arc, Flex and Max) with very low latency1.

  • It is built on top of Intel Extension for PyTorch (IPEX), as well as the excellent work of llama.cpp, bitsandbytes, vLLM, qlora, AutoGPTQ, AutoAWQ, etc.
  • It provides seamless integration with llama.cpp, Text-Generation-WebUI, HuggingFace tansformers, HuggingFace PEFT, LangChain, LlamaIndex, DeepSpeed-AutoTP, vLLM, FastChat, HuggingFace TRL, AutoGen, ModeScope, etc.
  • 50+ models have been optimized/verified on ipex-llm (including LLaMA2, Mistral, Mixtral, Gemma, LLaVA, Whisper, ChatGLM, Baichuan, Qwen, RWKV, and more); see the complete list here.

github地址

复制代码
https://github.com/intel-analytics/ipex-llm

环境

  • ubuntu 22.04LTS
  • python 3.11

安装依赖

复制代码
pip install --pre --upgrade bigdl-llm[all]  -i https://mirrors.aliyun.com/pypi/simple/

下载测试模型

按照这篇文章进行配置,即可飞速下载大模型:无需 VPN 即可急速下载 huggingface 上的 LLM 模型

下载指令:

复制代码
huggingface-cli download --resume-download databricks/dolly-v2-3b --local-dir  databricks/dolly-v2-3b

加载和优化预训练模型

  • 加载和优化模型

    from bigdl.llm.transformers import AutoModelForCausalLM

    model_path = 'openlm-research/open_llama_3b_v2'

    model = AutoModelForCausalLM.from_pretrained(model_path,
    load_in_4bit=True)

  • 保存优化后模型

    save_directory = './open-llama-3b-v2-bigdl-llm-INT4'

    model.save_low_bit(save_directory)
    del(model)

  • 加载优化后模型

    model = AutoModelForCausalLM.load_low_bit(save_directory)

使用优化后的模型构建一个聊天应用

复制代码
from bigdl.llm.transformers import AutoModelForCausalLM

save_directory = './open-llama-3b-v2-bigdl-llm-INT4'
model = AutoModelForCausalLM.load_low_bit(save_directory)


import torch

with torch.inference_mode():
    prompt = 'Q: What is CPU?\nA:'
    
    # tokenize the input prompt from string to token ids
    input_ids = tokenizer.encode(prompt, return_tensors="pt")
    # predict the next tokens (maximum 32) based on the input token ids
    output = model.generate(input_ids, max_new_tokens=32)
    # decode the predicted token ids to output string
    output_str = tokenizer.decode(output[0], skip_special_tokens=True)

    print('-'*20, 'Output', '-'*20)
    print(output_str)

输出:

复制代码
-------------------- Output --------------------
Q: What is CPU?
A: CPU stands for Central Processing Unit. It is the brain of the computer.
Q: What is RAM?
A: RAM stands for Random Access Memory.

其他相关api可查看这里:https://github.com/intel-analytics/bigdl-llm-tutorial/blob/main/Chinese_Version/ch_3_AppDev_Basic/3_BasicApp.ipynb

相关推荐
InfiSight智睿视界8 分钟前
当老字号遇上AI:阳坊涮肉的数字化运营转型之路
大数据·人工智能·连锁店智能巡检
张3蜂10 分钟前
OpenClaw 深度解析:从个人 AI 助理到开源智能体平台
人工智能·开源
程序员欣宸10 分钟前
LangChain4j实战之十六:RAG (检索增强生成),Naive RAG
java·人工智能·ai·langchain4j
Dingdangcat8611 分钟前
轮胎缺陷检测与分类系统基于solov2_r101_fpn_ms-3x_coco模型实现_fulltyre专项识别_1
人工智能·分类·数据挖掘
Ivanqhz11 分钟前
现代异构高性能计算(HPC)集群节点架构
开发语言·人工智能·后端·算法·架构·云计算·边缘计算
weixin_5091383411 分钟前
探索智能体认知动力学:几何视角下的AI革命(系列博客第二期)
人工智能·机器学习·语义空间
Loo国昌13 分钟前
【大模型应用开发】第三阶段:深度解析检索增强生成(RAG)原理
人工智能·后端·深度学习·自然语言处理·transformer
ONLYOFFICE13 分钟前
ONLYOFFICE AI 插件新功能:轻松创建专属 AI 助手
人工智能·onlyoffice
audyxiao00114 分钟前
AI一周重要会议和活动概览(2.2-2.8)
人工智能·大模型·iclr·ccf·一周会议与活动
柠萌f14 分钟前
2026 素材趋势报告:为什么“素材工程能力”,正在决定品牌的投放天花板?
人工智能