如何基于一台MacBook搞定企业级大模型知识库部署

▼最近直播超级多,预约保你有收获

今晚直播:《ChatGLM3/Qwen业务案例实战

 1

为什么要在 MacBook 上搭建知识库?

最核心最重要的是我们手上的文档资料出于安全要求,不能随便上传到云服务,也就无法实际验证知识库的实际效用。另外对于 IT 同学来说,自己亲手搭建一个完整的方案、能灵活调整和对接各种不同的模型、评测各种模型不同的表现,也是出于对技术的探索本能使然。

使用的 MacBook 配置如下,对大模型经过量化处理(比如:int8)后,可以流畅运行。

a29b9c019bc459b61285a9f9c1659770.jpeg

 2

知识库的架构设计

基于一台 MacBook 搭建部署的架构设计如下图,在这套架构设计中,我们采用了实力排上游、并且对企业和学术都友好的国产开源大模型 ChatGLM3-6B。

71c1cae788e9aa16083bd602ee333e60.jpeg

并采用了基于 m3e-base 模型的 embedding search RAG 方案。基于这两个模型封装和 ChatGPT 兼容的 API 接口协议;通过引入 One API 接口管理 & 分发系统,形成统一 LLM 接口渠道管理平台规范,并把封装好的接口协议注册进去;搭建与 Dify.ai 齐名开源大模型知识库平台管理系统 FastGPT,实现集私有知识数据源预处理、嵌入检索、大模型对话一体的完整知识库应用流程。

麻雀虽小五脏俱全,最终形成一套既满足商用标准、又能在 MacBook 跑起来的的方案。虽然智能程度和实际需求还有一定差距,但至少我们在不用额外购买显卡或云服务的情况下,以最小成本部署运行、并且能导入实际业务数据(如:设计文档、业务流程文档、项目管理文档、技术分享文档等等)进行实操验证,值得每位工程师都来动手尝试一下。

更详细的架构设计剖析,今晚20点直播详细剖析,请同学点击下方按钮预约直播。

 3

知识库的部署设计

基于 MacBook 的部署方案分为四个主要环节、14个具体步骤,只要一步步实操下去,每位 IT 同学都可以在自己的 MacBook 上拥有属于自己的私有大模型知识库系统,步骤清单如下:

3a97b32b73d5356052948a19c8832ee0.png

部分步骤可以简单地通过 Docker 镜像一键部署完成,但本着对细节一杆子插到底的部署思路,还是采取了纯手工作业的方法。

由于需要动手实际操作,更详细的实操步骤,放在今晚20点直播实操进行,直播精彩看点

1、ChatGLM3 核心能力和架构设计剖析

2、基于 ChatGLM3 构建 AI 电商中台/知识库案例和部署

3、基于 ChatGLM3 构建推荐系统案例和部署

请同学点击下方按钮预约直播,咱们今晚20点直播见!

带你全面掌握 AIGC 技术体系:大模型架构内核、Fine-tuning 微调、LangChain 开发框架、Agent 开发、向量数据库、部署治理等核心技术,扫码一键全部预约直播

09705b00451bb9502bf04c0559da04db.png

END

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于macbookpro 训练stable diffusion模型的教程,您可以参考以下步骤: 1. 安装Anaconda环境,确定您的macbookpro上已安装Anaconda。 2. 安装pytorch和torchvision,您可以在命令行中使用以下命令进行安装: ```bash conda install pytorch torchvision -c pytorch ``` 3. 安装稳定扩散(pure-pytorch)包,在命令行中使用以下命令进行安装: ```bash pip install git+https://github.com/pesser/pytorch-stable-baselines3.git ``` 4. 运行代码进行训练,您可以使用以下示例代码作为起点: ```python import gym import torch import argparse from stable_baselines3 import PPO from stable_baselines3.ppo import MlpPolicy from stable_baselines3.common.vec_env import DummyVecEnv from diffusion_training import DiffusionTraining if __name__ == '__main__': parser = argparse.ArgumentParser(description='Stable diffusion training') parser.add_argument('--env', type=str, default='Pendulum-v0') parser.add_argument('--n_envs', type=int, default=1) parser.add_argument('--n_steps', type=int, default=2048) parser.add_argument('--ent_coef', type=float, default=0.01) parser.add_argument('--lr', type=float, default=3e-4) parser.add_argument('--batch_size', type=int, default=64) parser.add_argument('--gamma', type=float, default=0.99) parser.add_argument('--gae_lambda', type=float, default=0.95) parser.add_argument('--clip_range', type=float, default=0.2) parser.add_argument('--vf_coef', type=float, default=0.5) parser.add_argument('--max_grad_norm', type=float, default=0.5) parser.add_argument('--seed', type=int, default=0) parser.add_argument('--n_timesteps', type=int, default=1000000) parser.add_argument('--log_interval', type=int, default=10) parser.add_argument('--logdir', type=str, default='./logs') args = parser.parse_args() env_id = args.env envs = [lambda: gym.make(env_id) for _ in range(args.n_envs)] vec_env = DummyVecEnv(envs) model = PPO(MlpPolicy, vec_env, n_steps=args.n_steps, ent_coef=args.ent_coef, learning_rate=args.lr, batch_size=args.batch_size, gamma=args.gamma, gae_lambda=args.gae_lambda, clip_range=args.clip_range, vf_coef=args.vf_coef, max_grad_norm=args.max_grad_norm) trainer = DiffusionTraining(model, seed=args.seed) trainer.learn(total_timesteps=args.n_timesteps, log_interval=args.log_interval, logdir=args.logdir) ``` 这里面包括了关键参数的设置和相应的学习率、优化器等内容,您可以根据需要进行适当的修改。 希望我的回答对您有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值