8 篇文章带有标签 “huggingface”

SmolAgents 概念指南:Agent 介绍

本文档探讨了人工智能代理(AI Agent)的概念,将其定义为LLM(大型语言模型)输出控制工作流程的程序代理能力是一个连续的谱系,取决于LLM对程序流程的控制程度,从简单的输出处理到控制迭代和启动其他代理。文中强调了在需要灵活工作流程时使用代理的优势,特别是多步代理通过循环推理和行动解决复杂任务的能力。此外,文档详细介绍了smolagents框架的必要性,它提供了管理工具调用、记忆和错误处理的抽象层,并提出代码代理是一种更具可组合性、通用性和在LLM训练数据中表现更好的代理实现方式。

🤔 什么是 Agent?

任何使用 AI 的高效系统都需要为大型语言模型(LLM)提供某种与现实世界交互的能力:例如,调用搜索工具以获取外部信息,或对某些程序执行操作以解决任务。换句话说,LLM 应该具有代理能力(agency)。Agent 程序是 LLM 通向外部世界的门户。

AI Agent 是LLM 输出控制工作流程的程序

任何利用 LLM 的系统都会将 LLM 的输出集成到代码中。LLM 的输入对代码工作流程的影响程度就是 LLM 在系统中的代理能力水平。

请注意,根据这个定义,“agent”不是一个离散的、非0即1的定义:相反,“代理能力”在一个连续的谱系上演变,这取决于您赋予 LLM 对工作流程的权力大小。

下表展示了代理能力在不同系统中的变化:

LeRobot:通过端到端学习让机器人人工智能更易实现

LeRobot

尖端机器学习,赋能真实世界机器人

🤗 LeRobot 致力于在 PyTorch 中为真实世界的机器人提供模型、数据集和工具。其目标是降低机器人技术的入门门槛,让每个人都能通过共享数据集和预训练模型来做出贡献并从中受益。

🤗 LeRobot 包含已被证明可应用于真实世界的尖端方法,重点关注模仿学习和强化学习:github.com/huggingface/lerobot

🤗 LeRobot 已提供一系列预训练模型、包含人类收集演示的数据集以及模拟环境,让每个人都能轻松上手。在未来几周,该项目计划为市面上最经济实惠且功能强大的机器人添加越来越多的真实世界机器人支持。

🤗 LeRobot 在 HuggingFace 社区页面上托管预训练模型和数据集:huggingface.co/lerobot

Hugging Face NLP Course

1. TRANSFORMER 模型

自然语言处理

NLP 是语言学和机器学习交叉领域,专注于理解与人类语言相关的一切。 NLP 任务的目标不仅是单独理解单个单词,而且是能够理解这些单词的上下文

以下是常见 NLP 任务的列表:

  • 对整个句子进行分类:
    • 获取评论的情绪
    • 检测电子邮件是否为垃圾邮件
    • 确定句子在语法上是否正确
    • 确定两个句子在逻辑上是否相关
  • 对句子中的每个词进行分类:
    • 识别句子的语法成分(名词、动词、形容词)
    • 识别句子的命名实体(人、地点、组织)
  • 生成文本内容:
    • 用自动生成的文本完成提示
    • 用屏蔽词填充文本中的空白
  • 从文本中提取答案:
    • 给定问题和上下文,根据上下文中提供的信息提取问题的答案
  • 从输入文本生成新句子:
    • 将文本翻译成另一种语言
    • 总结文本
  • 语音识别:
    • 生成音频样本的转录
  • 计算机视觉:
    • 生成图像描述
    • 目标检测

Transformers 能做什么?

Transformers 库中最基本的对象是 pipeline() 函数。它将模型与其必要的预处理和后处理步骤连接起来,使我们能够通过直接输入任何文本并获得最终的答案:

在 MLX 上使用 LoRA / QLoRA 微调 Text2SQL(三):分享微调后的模型到 HuggingFace Hub

mlx-community/Mistral-7B-v0.1-LoRA-Text2SQL

安装 mlx-lm

pip install mlx-lm

生成 SQL

python -m mlx_lm.generate --model mlx-community/Mistral-7B-v0.1-LoRA-Text2SQL \
                          --max-tokens 50 \
                          --prompt "table: students
columns: Name, Age, School, Grade, Height, Weight
Q: Which school did Wang Junjian come from?
A: "
SELECT School FROM Students WHERE Name = 'Wang Junjian'

上传模型到 HuggingFace Hub

  1. 加入 MLX Community 组织
  1. 在 MLX Community 组织中创建一个新的模型 mlx-community/Mistral-7B-v0.1-LoRA-Text2SQL
  1. 克隆仓库 mlx-community/Mistral-7B-v0.1-LoRA-Text2SQL

在 MLX 上使用 LoRA / QLoRA 微调 Text2SQL(二):使用 LoRA 基于 Mistral-7B 微调

mlx-community/Mistral-7B-v0.1-LoRA-Text2SQL

本次微调的模型我已经上传到了 HuggingFace Hub 上,大家可以进行尝试。

安装 mlx-lm

pip install mlx-lm

生成 SQL

python -m mlx_lm.generate --model mlx-community/Mistral-7B-v0.1-LoRA-Text2SQL \
                          --max-tokens 50 \
                          --prompt "table: students
columns: Name, Age, School, Grade, Height, Weight
Q: Which school did Wang Junjian come from?
A: "
SELECT School FROM Students WHERE Name = 'Wang Junjian'

在 MLX 上使用 LoRA / QLoRA 微调 Text2SQL(一):使用 LoRA 基于 Mistral-7B 微调

📌 没有使用模型的标注格式生成数据集,导致不能结束,直到生成最大的 Tokens 数量。

这次我们来解决这个问题。

数据集 WikiSQL

修改脚本 mlx-examples/lora/data/w