Featured image of post LLM 生态介绍:从模型微调到应用落地

LLM 生态介绍:从模型微调到应用落地

构建一个完整的 LLM 应用,仅仅拥有强大的模型是不够的。一个繁荣的 LLM 生态系统,需要涵盖从模型训练、优化到部署和应用的各个环节。本文将带您一览 LLM 生态的各个方面,探索如何将 LLM 真正应用到实际场景中。

# LLM 生态介绍:从模型微调到应用落地

# 模型微调

预训练的 LLM 通常具备广泛的知识,但要使其在特定任务上表现出色,微调是必不可少的。以下是一些常用的 LLM 微调工具:

# Axolotl

OpenAccess-AI-Collective
/
axolotl
Waiting for api.github.com...
0
0
unkown
Waiting...

Axolotl 是一款旨在简化各种人工智能模型微调的工具,支持多种配置和架构。

主要特点:

  • 训练各种 Huggingface 模型,如 llama、pythia、falcon、mpt
  • 支持 fullfinetune、lora、qlora、relora 和 gptq
  • 使用简单的 yaml 文件或 CLI 重写功能自定义配置
  • 加载不同的数据集格式,使用自定义格式,或自带标记化数据集
  • 与 xformer、闪存关注、绳索缩放和多重包装集成
  • 可通过 FSDP 或 Deepspeed 与单 GPU 或多 GPU 协同工作
  • 使用 Docker 在本地或云端轻松运行
  • 将结果和可选的检查点记录到 wandb 或 mlflow 中

快速入门: 要求: Python >=3.10 和 Pytorch >=2.1.1

git clone https://github.com/OpenAccess-AI-Collective/axolotl
cd axolotl

pip3 install packaging ninja
pip3 install -e '.[flash-attn,deepspeed]'

使用方法:

# preprocess datasets - optional but recommended
CUDA_VISIBLE_DEVICES="" python -m axolotl.cli.preprocess examples/openllama-3b/lora.yml

# finetune lora
accelerate launch -m axolotl.cli.train examples/openllama-3b/lora.yml

# inference
accelerate launch -m axolotl.cli.inference examples/openllama-3b/lora.yml \
    --lora_model_dir="./outputs/lora-out"

# gradio
accelerate launch -m axolotl.cli.inference examples/openllama-3b/lora.yml \
    --lora_model_dir="./outputs/lora-out" --gradio

# remote yaml files - the yaml config can be hosted on a public URL
# Note: the yaml config must directly link to the **raw** yaml
accelerate launch -m axolotl.cli.train https://raw.githubusercontent.com/OpenAccess-AI-Collective/axolotl/main/examples/openllama-3b/lora.yml

其它详细信息,请访问 Axolotl 项目主页。

# Llama-Factory

Llama Factory Logo
hiyouga
/
LLaMA-Factory
Waiting for api.github.com...
0
0
unkown
Waiting...

Llama-Factory 是 Meta 推出的,专注于 Llama 模型微调的框架。它构建于 PyTorch 生态之上,并提供高效的训练和评估工具。

主要特点:

  • 多种模型:LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Yi、Gemma、Baichuan、ChatGLM、Phi 等等。
  • 集成方法:(增量)预训练、(多模态)指令监督微调、奖励模型训练、PPO 训练、DPO 训练、KTO 训练、ORPO 训练等等。
  • 多种精度:16 比特全参数微调、冻结微调、LoRA 微调和基于 AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ 的 2/3/4/5/6/8 比特 QLoRA 微调。
  • 先进算法:GaLore、BAdam、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA+、LoftQ、PiSSA 和 Agent 微调。
  • 实用技巧:FlashAttention-2、Unsloth、RoPE scaling、NEFTune 和 rsLoRA。
  • 实验监控:LlamaBoard、TensorBoard、Wandb、MLflow 等等。
  • 极速推理:基于 vLLM 的 OpenAI 风格 API、浏览器界面和命令行接口。

性能指标

与 ChatGLM 官方的 P-Tuning 微调相比,LLaMA Factory 的 LoRA 微调提供了 3.7 倍的加速比,同时在广告文案生成任务上取得了更高的 Rouge 分数。结合 4 比特量化技术,LLaMA Factory 的 QLoRA 微调进一步降低了 GPU 显存消耗。

Performance
变量定义
  • Training Speed: 训练阶段每秒处理的样本数量。(批处理大小=4,截断长度=1024)
  • Rouge Score: 广告文案生成 任务验证集上的 Rouge-2 分数。(批处理大小=4,截断长度=1024)
  • GPU Memory: 4 比特量化训练的 GPU 显存峰值。(批处理大小=1,截断长度=1024)
  • 我们在 ChatGLM 的 P-Tuning 中采用 pre_seq_len=128,在 LLaMA Factory 的 LoRA 微调中采用 lora_rank=32

快速入门

git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]"

可选的额外依赖项:torch、torch-npu、metrics、deepspeed、bitsandbytes、hqq、eetq、gptq、awq、aqlm、vllm、galore、badam、qwen、modelscope、quality

提示

遇到包冲突时,可使用 pip install –no-deps -e . 解决。

Windows 用户指南

如果要在 Windows 平台上开启量化 LoRA(QLoRA),需要安装预编译的 bitsandbytes 库, 支持 CUDA 11.1 到 12.2, 请根据您的 CUDA 版本情况选择适合的发布版本

pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.41.2.post2-py3-none-win_amd64.whl

如果要在 Windows 平台上开启 FlashAttention-2,需要安装预编译的 flash-attn 库,支持 CUDA 12.1 到 12.2,请根据需求到 flash-attention 下载对应版本安装。

昇腾 NPU 用户指南

在昇腾 NPU 设备上安装 LLaMA Factory 时,需要指定额外依赖项,使用 pip install -e ".[torch-npu,metrics]" 命令安装。此外,还需要安装 Ascend CANN Toolkit 与 Kernels ,安装方法请参考安装教程 或使用以下命令:

# 请替换 URL 为 CANN 版本和设备型号对应的 URL
# 安装 CANN Toolkit
wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Milan-ASL/Milan-ASL%20V100R001C17SPC701/Ascend-cann-toolkit_8.0.RC1.alpha001_linux-"$(uname -i)".run
bash Ascend-cann-toolkit_8.0.RC1.alpha001_linux-"$(uname -i)".run --install

# 安装 CANN Kernels
wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Milan-ASL/Milan-ASL%20V100R001C17SPC701/Ascend-cann-kernels-910b_8.0.RC1.alpha001_linux.run
bash Ascend-cann-kernels-910b_8.0.RC1.alpha001_linux.run --install

# 设置环境变量
source /usr/local/Ascend/ascend-toolkit/set_env.sh
依赖项至少推荐
CANN8.0.RC18.0.RC1
torch2.1.02.1.0
torch-npu2.1.02.1.0.post3
deepspeed0.13.20.13.2

请使用 ASCEND_RT_VISIBLE_DEVICES 而非 CUDA_VISIBLE_DEVICES 来指定运算设备。

如果遇到无法正常推理的情况,请尝试设置 do_sample: false

下载预构建 Docker 镜像:32GB | 64GB

下面三行命令分别对 Llama3-8B-Instruct 模型进行 LoRA 微调、推理和合并。

llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml
llamafactory-cli chat examples/inference/llama3_lora_sft.yaml
llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml

更多详细信息,请访问 Llama-Factory 项目主页。

# Firefly

yangjianxin1
/
Firefly
Waiting for api.github.com...
0
0
unkown
Waiting...

Firefly 是一个开源的大模型训练项目,支持对主流的大模型进行预训练、指令微调和 DPO,包括但不限于 Qwen2、Yi-1.5、Llama3、Gemma、Qwen1.5、MiniCPM、Llama、InternLM、Baichuan、ChatGLM、Yi、Deepseek、Qwen、Orion、Ziya、Xverse、Mistral、Mixtral-8x7B、Zephyr、Vicuna、Bloom 等。 本项目支持全量参数训练、LoRA、QLoRA 高效训练,支持预训练、SFT、DPO。 如果你的训练资源有限,我们极力推荐使用 QLoRA 进行指令微调,因为我们在 Open LLM Leaderboard 上验证了该方法的有效性,并且取得了非常不错的成绩。

主要特点:

  • 📗 支持预训练、指令微调、DPO,支持全量参数训练、LoRA、QLoRA 高效训练。通过配置文件的方式训练不同的模型,小白亦可快速上手训练模型。
  • 📗 支持使用Unsloth 加速训练,并且节省显存。
  • 📗 支持绝大部分主流的开源大模型,如 Llama3、Gemma、MiniCPM、Llama、InternLM、Baichuan、ChatGLM、Yi、Deepseek、Qwen、Orion、Ziya、Xverse、Mistral、Mixtral-8x7B、Zephyr、Vicuna、Bloom,训练时与各个官方的 chat 模型的 template 对齐。
  • 📗 整理并开源指令微调数据集:firefly-train-1.1M 、moss-003-sft-data、ultrachat、 WizardLM_evol_instruct_V2_143k、school_math_0.25M。
  • 📗 开源Firefly 系列指令微调模型权重
  • 📗 在 Open LLM Leaderboard 上验证了 QLoRA 训练流程的有效性。

该项目的 README 中包含了详细的使用说明,包括如何安装、如何训练、如何微调、如何评估等。请访问 Firefly 项目主页。

# XTuner

InternLM
/
xtuner
Waiting for api.github.com...
0
0
unkown
Waiting...

XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。

主要特点:

  • 高效
    • 支持大语言模型 LLM、多模态图文模型 VLM 的预训练及轻量级微调。XTuner 支持在 8GB 显存下微调 7B 模型,同时也支持多节点跨设备微调更大尺度模型(70B+)。
    • 自动分发高性能算子(如 FlashAttention、Triton kernels 等)以加速训练吞吐。
    • 兼容 DeepSpeed 🚀,轻松应用各种 ZeRO 训练优化策略。
  • 灵活
    • 支持多种大语言模型,包括但不限于 InternLM Mixtral-8x7B Llama 2 ChatGLM Qwen Baichuan
    • 支持多模态图文模型 LLaVA 的预训练与微调。利用 XTuner 训得模型 LLaVA-InternLM2-20B 表现优异。
    • 精心设计的数据管道,兼容任意数据格式,开源数据或自定义数据皆可快速上手。
    • 支持 QLoRA LoRA 、全量参数微调等多种微调算法,支撑用户根据具体需求作出最优选择。
  • 全能
    • 支持增量预训练、指令微调与 Agent 微调。
    • 预定义众多开源对话模版,支持与开源或训练所得模型进行对话。
    • 训练所得模型可无缝接入部署工具库 LMDeploy 、大规模评测工具库 OpenCompass VLMEvalKit

快速上手:

安装
  • 推荐使用 conda 先构建一个 Python-3.10 的虚拟环境

    conda create --name xtuner-env python=3.10 -y
    conda activate xtuner-env
    
  • 通过 pip 安装 XTuner:

    pip install -U xtuner
    

    亦可集成 DeepSpeed 安装:

    pip install -U 'xtuner[deepspeed]'
    
  • 从源码安装 XTuner:

    git clone https://github.com/InternLM/xtuner.git
    cd xtuner
    pip install -e '.[all]'
    
    

微调

XTuner 支持微调大语言模型。数据集预处理指南请查阅文档

  • 步骤 0,准备配置文件。XTuner 提供多个开箱即用的配置文件,用户可以通过下列命令查看:

    xtuner list-cfg
    

    或者,如果所提供的配置文件不能满足使用需求,请导出所提供的配置文件并进行相应更改:

    xtuner copy-cfg ${CONFIG_NAME} ${SAVE_PATH}
    vi ${SAVE_PATH}/${CONFIG_NAME}_copy.py
    
  • 步骤 1,开始微调。

    xtuner train ${CONFIG_NAME_OR_PATH}
    

    例如,我们可以利用 QLoRA 算法在 oasst1 数据集上微调 InternLM2.5-Chat-7B:

    # 单卡
    xtuner train internlm2_5_chat_7b_qlora_oasst1_e3 --deepspeed deepspeed_zero2
    # 多卡
    (DIST) NPROC_PER_NODE=${GPU_NUM} xtuner train internlm2_5_chat_7b_qlora_oasst1_e3 --deepspeed deepspeed_zero2
    (SLURM) srun ${SRUN_ARGS} xtuner train internlm2_5_chat_7b_qlora_oasst1_e3 --launcher slurm --deepspeed deepspeed_zero2
    
    • --deepspeed 表示使用 DeepSpeed 🚀 来优化训练过程。XTuner 内置了多种策略,包括 ZeRO-1、ZeRO-2、ZeRO-3 等。如果用户期望关闭此功能,请直接移除此参数。

    • 更多示例,请查阅文档

  • 步骤 2,将保存的 PTH 模型(如果使用的 DeepSpeed,则将会是一个文件夹)转换为 HuggingFace 模型:

    xtuner convert pth_to_hf ${CONFIG_NAME_OR_PATH} ${PTH} ${SAVE_PATH}
    

其它详细信息,请访问 XTuner 的项目主页。

# 模型量化

LLM 通常体积庞大,对计算资源要求高。模型量化技术可以压缩模型大小,提高运行效率,使其更易于部署:

# AutoGPTQ

PanQiWei
/
AutoGPTQ
Waiting for api.github.com...
0
0
unkown
Waiting...

AutoGPTQ 一个基于 GPTQ 算法,简单易用且拥有用户友好型接口的大语言模型量化工具包。

快速安装

  • 对于 CUDA 11.7:
pip install auto-gptq --extra-index-url https://huggingface.github.io/autogptq-index/whl/cu117/
  • 对于 CUDA 11.8:
pip install auto-gptq --extra-index-url https://huggingface.github.io/autogptq-index/whl/cu118/
  • 对于 RoCm 5.4.2:
pip install auto-gptq --extra-index-url https://huggingface.github.io/autogptq-index/whl/rocm542/

更多详细信息,请访问 AutoGPTQ 的项目主页。

# AutoAWQ

casper-hansen
/
AutoAWQ
Waiting for api.github.com...
0
0
unkown
Waiting...

AutoAWQ 是另一款自动化模型量化工具,支持多种量化精度,并提供灵活的配置选项,可以根据不同的硬件平台和性能需求进行调整。

AutoAWQ 是一个易于使用的 4 位量化模型软件包。与 FP16 相比,AutoAWQ 可将模型速度提高 3 倍,内存需求减少 3 倍。AutoAWQ 实现了用于量化 LLMs 的激活感知权重量化(AWQ)算法。AutoAWQ 是在 MIT 的原始工作 AWQ 基础上创建和改进的。

安装方法:

安装前,确保安装了 CUDA >= 12.1(注意:以下只是最快捷的安装方法)

pip install autoawq

更多详细信息和示例,请访问 AutoAWQ 的项目主页。

# Neural Compressor

intel
/
neural-compressor
Waiting for api.github.com...
0
0
unkown
Waiting...

Neural Compressor 是英特尔开发的模型压缩工具包,支持所有主流深度学习框架(TensorFlow、PyTorch、ONNX Runtime 和 MXNet)上流行的模型压缩技术。

安装方法:

pip install "neural-compressor>=2.3" "transformers>=4.34.0" torch torchvision

更多详细信息和示例,请访问 Neural Compressor 的项目主页。

# 模型部署

将训练好的 LLM 部署到生产环境至关重要。以下是一些常用的 LLM 部署工具:

# vLLM

vllm-project
/
vllm
Waiting for api.github.com...
0
0
unkown
Waiting...

vLLM 是一个快速、易用的 LLM 推理服务库。

主要特点:

  • 快速
    • SOTA 服务吞吐量
    • 利用 PagedAttention 高效管理注意力键值内存
    • 持续批量处理收到的请求
    • 利用 CUDA/HIP 图进行加速
    • 量化:支持 GPTQ、AWQ、SqueezeLLM、FP8 KV 高速缓存
    • 优化的 CUDA 内核
  • 灵活
    • 与流行的 Hugging Face 模型无缝集成
    • 利用各种解码算法(包括并行采样、波束搜索等)提供高吞吐量服务
    • 为分布式推理提供张量并行支持
    • 流输出
    • 兼容 OpenAI 的应用程序接口服务器
    • 支持 NVIDIA GPU、AMD GPU、Intel CPU 和 GPU -(实验性)支持前缀缓存 -(试验性)支持多种语言
  • 无缝支持
    • 基于 Transformer 的模型,例如 Llama
    • 基于 MoE 的模型,例如 Mixtral
    • 多模态模型,例如 LLaVA

快速安装:

pip install vllm

更多详细信息,请查看 vLLM 官方文档。

# SGL

sgl-project
/
sglang
Waiting for api.github.com...
0
0
unkown
Waiting...

SGLang 是一种结构化生成语言,专为大型语言模型(LLMs)而设计。它通过共同设计前端语言和运行系统,使你与 LLMs 的交互更快、更可控。

主要特点:

  • 灵活的前端语言:通过链式生成调用、高级提示、控制流、多种模式、并行性和外部交互,可轻松编写 LLM 应用程序。
  • 高性能后端运行时:具有 RadixAttention 功能,可通过在多次调用中重复使用 KV 缓存来加速复杂的 LLM 程序。它还可以作为独立的推理引擎,实现所有常用技术(如连续批处理和张量并行)。

更多详细信息,请访问 SGL 的项目主页。

# SkyPilot

skypilot-org
/
skypilot
Waiting for api.github.com...
0
0
unkown
Waiting...

SkyPilot 是 UC Berkeley RISELab 推出的灵活的云端 LLM 部署工具,支持多种云平台和硬件加速器,可以自动选择最优的部署方案,并提供成本优化功能。

主要特点:

  • 多云支持: 支持 AWS, GCP, Azure 等多种云平台,方便用户选择合适的部署环境。
  • 轻松扩展:排队和运行多个作业,自动管理
  • 轻松接入对象存储:轻松访问对象存储(S3、GCS、R2)

更多详细信息,请访问 SkyPilot 的项目主页。

# TensorRT-LLM

NVIDIA
/
TensorRT-LLM
Waiting for api.github.com...
0
0
unkown
Waiting...

TensorRT-LLM 是 NVIDIA 推出的高性能 LLM 推理引擎,能够充分利用 GPU 加速计算,并针对 Transformer 模型结构进行了优化,大幅提升推理速度。

TensorRT-LLM 为用户提供了易于使用的 Python API,用于定义大型语言模型 (LLMs) 和构建 TensorRT 引擎,这些引擎包含最先进的优化技术,可在英伟达™(NVIDIA®)图形处理器上高效执行推理。TensorRT-LLM 还包含用于创建执行这些 TensorRT 引擎的 Python 和 C++ 运行时的组件。

详细信息,请访问 TensorRT-LLM 的项目主页。

# OpenVino

openvinotoolkit
/
openvino
Waiting for api.github.com...
0
0
unkown
Waiting...

OpenVINO™ 是用于优化和部署人工智能推理的开源工具包。

主要特点:

  • 推理优化:提升深度学习在计算机视觉、自动语音识别、生成式人工智能、使用大型和小型语言模型的自然语言处理以及许多其他常见任务中的性能。
  • 灵活的模型支持:使用 TensorFlow、PyTorch、ONNX、Keras 和 PaddlePaddle 等流行框架训练的模型。无需原始框架即可转换和部署模型。
  • 广泛的平台兼容性:减少资源需求,在从边缘到云的一系列平台上高效部署。OpenVINO™ 支持在 CPU(x86、ARM)、GPU(支持 OpenCL 的集成和独立 GPU)和 AI 加速器(英特尔 NPU)上进行推理。
  • 社区和生态系统:加入一个活跃的社区,为提高各个领域的深度学习性能做出贡献。

详细信息,请访问 OpenVino 的项目主页。

# TGI

huggingface
/
text-generation-inference
Waiting for api.github.com...
0
0
unkown
Waiting...

文本生成推理(TGI)是一个用于部署和服务大型语言模型(LLMs)的工具包。TGI 可为最流行的开源 LLMs 实现高性能文本生成,包括 Llama、Falcon、StarCoder、BLOOM、GPT-NeoX 等。

TGI 实现了许多功能,可以在 TGI 的项目主页上找到详细信息。

# 本地运行

得益于模型压缩和优化技术,我们也可以在个人设备上运行 LLM:

# MLX

ml-explore
/
mlx
Waiting for api.github.com...
0
0
unkown
Waiting...

MLX 是一个专门支持在 Apple 设备上运行 LLM 的框架,充分利用 Metal 加速计算,并提供简单易用的 API,方便开发者将 LLM 集成到 iOS 应用中.

主要特点:

  • 相似的应用程序接口:MLX 的 Python API 与 NumPy 非常相似。MLX 还拥有功能齐全的 C++、C 和 Swift API,这些 API 与 Python API 非常相似。MLX 拥有更高级别的软件包,如 mlx.nnmlx.optimizers ,其 API 与 PyTorch 非常接近,可简化更复杂模型的构建。
  • 可组合函数变换:MLX 支持用于自动微分、自动矢量化和计算图优化的可组合函数变换。
  • 懒计算:MLX 中的计算只有在需要时才将数组实体化。
  • 动态图构建:MLX 中的计算图形是动态构建的。改变函数参数的形状不会导致编译速度变慢,而且调试简单直观。
  • 多设备:操作可在任何支持的设备(目前是 CPU 和 GPU)上运行。
  • 统一内存:统一内存模型是 MLX 与其他框架的一个显著区别。MLX 中的阵列位于共享内存中。对 MLX 数组的操作可在任何支持的设备类型上执行,而无需传输数据。

MLX 是机器学习研究人员为机器学习研究人员设计的。该框架旨在方便用户使用,但仍能高效地训练和部署模型。框架本身的设计概念也很简单。我们的目标是让研究人员能够轻松扩展和改进 MLX,从而快速探索新思路。更多详细信息,请访问 MLX 的项目主页。

# Llama.cpp

Llama.cpp 是使用 C++ 实现的 Llama 模型推理引擎,可以在 CPU 上高效运行,并支持多种操作系统和硬件平台,方便开发者在资源受限的设备上运行 LLM。

ggerganov
/
llama.cpp
Waiting for api.github.com...
0
0
unkown
Waiting...

主要特点:

  • CPU 推理: 针对 CPU 平台进行优化,可以在没有 GPU 的设备上运行 LLM。
  • 跨平台支持: 支持 Linux, macOS, Windows 等多种操作系统,方便用户在不同平台上使用。
  • 轻量级部署: 编译后的二进制文件体积小,方便用户部署和使用.

更多详细信息,请访问 Llama.cpp 的项目主页。

# Ollama

ollama
/
ollama
Waiting for api.github.com...
0
0
unkown
Waiting...

【Ollama:从入门到进阶】 一文中介绍过,Ollama 是一个用于构建大型语言模型应用的工具,它提供了一个简洁易用的命令行界面和服务器,让你能够轻松下载、运行和管理各种开源 LLM。与需要复杂配置和强大硬件的传统 LLM 不同,Ollama 让你能够方便地像使用手机 App 一样体验 LLM 的强大功能。

主要特点:

  • 简单易用:Ollama 提供了一个简洁易用的命令行工具,方便用户下载、运行和管理 LLM。
  • 多种模型:Ollama 支持多种开源 LLM,包括 Qwen2、Llama3、Mistral 等。
  • 兼容 OpenAI 接口:Ollama 支持 OpenAI API 接口,便于切换原有应用到 Ollama 上。

更多详细信息,请访问 Ollama 的项目主页。

# Agent 及 RAG 框架

将 LLM 与外部数据和工具结合,可以构建更强大的应用。以下是一些常用的 Agent 及 RAG 框架:

# LlamaIndex

run-llama
/
llama_index
Waiting for api.github.com...
0
0
unkown
Waiting...

LlamaIndex(GPT 索引)是用于 LLM 应用程序的数据框架。使用 LlamaIndex 构建应用程序通常需要使用 LlamaIndex 核心和一组选定的集成(或插件)。在 Python 中使用 LlamaIndex 构建应用程序有两种方法:

  • 启动器: llama-index ( https://pypi.org/project/llama-index/ )。Python 入门包,包括核心 LlamaIndex 以及部分集成。
  • 定制化:llama-index-core ( https://pypi.org/project/llama-index-core/ )。安装核心 LlamaIndex,并在 LlamaHub 上添加应用程序所需的 LlamaIndex 集成包。目前有 300 多个 LlamaIndex 集成包可与核心无缝协作,让你可以使用自己喜欢的 LLM、嵌入和向量存储数据库进行构建

LlamaIndex Python 库是以名字命名的,因此包含 core 的导入语句意味着使用的是核心包。相反,那些不含 core 的语句则意味着使用的是集成包。

# typical pattern
from llama_index.core.xxx import ClassABC  # core submodule xxx
from llama_index.xxx.yyy import (
    SubclassABC,
)  # integration yyy for submodule xxx

# concrete example
from llama_index.core.llms import LLM
from llama_index.llms.openai import OpenAI

# CrewAI

joaomdmoura
/
crewAI
Waiting for api.github.com...
0
0
unkown
Waiting...

CrewAI 是一个构建 AI Agent 的框架,可以将 LLM 与其他工具和 API 集成,实现更复杂的任务,例如自动执行网页操作、生成代码等。

主要特点:

  • 基于角色的智能体设计:你可以使用特定的角色、目标和工具来自定义智能体。
  • 自主智能体间委托:智能体可以自主地将任务委托给其他智能体,并相互查询信息,从而提高解决问题的效率。
  • 灵活的任务管理:可以使用可定制的工具来定义任务,并动态地将任务分配给智能体。
  • 流程驱动:该系统以流程为中心,目前支持按顺序执行任务和分层流程。未来还会支持更复杂的流程,例如协商和自主流程。
  • 保存输出为文件:可以将单个任务的输出保存为文件,以便以后使用。
  • 将输出解析为 Pydantic 或 Json:可以将单个任务的输出解析为 Pydantic 模型或 Json 格式,以便于后续处理和分析。
  • 支持开源模型:可以使用 OpenAI 或其他开源模型来运行您的智能体团队。更多关于配置智能体与模型连接的信息,包括如何连接到本地运行的模型,请参阅将 crewAI 连接到大型语言模型

更多详细信息,请访问 CrewAI 的项目主页。

# OpenDevin

opendevin
/
opendevin
Waiting for api.github.com...
0
0
unkown
Waiting...

OpenDevin 是一个由人工智能和 LLMs 驱动的自主软件工程师平台。

OpenDevin 智能体与人类开发人员合作编写代码、修复错误和发布功能。

详细信息,请访问 OpenDevin 的项目主页。

# 模型评测

为了选择合适的 LLM 并评估其性能,我们需要进行模型评测:

# LMSys

LMSys Org 是由加州大学伯克利分校的学生和教师与加州大学圣地亚哥分校以及卡内基梅隆大学合作成立的开放式研究组织。

目标是通过共同开发开放模型、数据集、系统和评估工具,使大型模型对每个人都可访问。训练大型语言模型并广泛提供它们的应用,同时也在开发分布式系统以加速它们的训练和推理过程。

目前,LMSys Chatbot Area 是最被认可的大模型排行榜之一,受多家公司和研究机构的认可。

排行榜地址:https://arena.lmsys.org/

# OpenCompass

OpenCompass 是一个 LLM 评估平台,支持 100 多个数据集上的各种模型(Llama3、Mistral、InternLM2、GPT-4、LLaMa2、Qwen、GLM、Claude 等)。

open-compass
/
opencompass
Waiting for api.github.com...
0
0
unkown
Waiting...

# Open LLM Leaderboard

Open LLM Leaderboard 是一个持续更新的 LLM 排行榜,根据多个评测指标对不同模型进行排名,方便开发者了解最新的模型性能和发展趋势。

排行榜地址:https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard

# 总结

LLM 生态正在蓬勃发展,涵盖了从模型训练到应用落地的各个环节。相信随着技术的不断进步,LLM 将会在更多领域发挥重要作用,为我们带来更加智能的应用体验。

Licensed under CC BY-NC-SA 4.0
本博客已稳定运行
总访客数: Loading
总访问量: Loading
发表了 73 篇文章 · 总计 323.75k

使用 Hugo 构建
主题 StackJimmy 设计
基于 v3.27.0 分支版本修改