自学内容网 自学内容网

LLMs之:ReaderLM-v2的简介、安装和使用方法、案例应用

LLMs之:ReaderLM-v2的简介、安装和使用方法、案例应用

目录

ReaderLM-v2的简介

1、ReaderLM-v2的模型架构

2、ReaderLM-v2的性能

2.1、定量评估

2.2、定性评估

2.3、训练细节

ReaderLM-v2的安装和使用方法

1、ReaderLM-v2 安装

T1、通过 Reader API 使用

T2、在 Google Colab 上使用

T3、本地使用

ReaderLM-v2的案例应用

1、HTML 到 Markdown 示例

2、HTML 到 JSON 示例


ReaderLM-v2的简介

ReaderLM-v2 是一个拥有 15.4 亿参数的语言模型,能够将原始 HTML 转换成格式优美的 Markdown 或 JSON,具有更高的准确性和改进的长上下文处理能力。它支持多种语言(共 29 种),专门用于处理 HTML 解析、转换和文本提取的任务。

ReaderLM-v2 相较于其前身,取得了显著进步:

>> 更好的 Markdown 生成: 得益于新的训练范式和更高质量的训练数据,该模型擅长生成复杂的元素,例如代码围栏、嵌套列表、表格和 LaTeX 公式。

>> JSON 输出: 引入了直接的 HTML 到 JSON 生成,使用预定义的模式,无需中间 Markdown 转换。

>> 更长的上下文处理: 能够处理多达 512K 个标记的组合输入和输出长度,在长篇内容上的性能有所提高。

>> 多语言支持: 全面支持 29 种语言,应用范围更广。

>> 增强的稳定性: 通过训练过程中的对比损失,大大减轻了生成长序列后的退化问题。

HuggingFace地址https://huggingface.co/jinaai/ReaderLM-v2

1、ReaderLM-v2的模型架构

模型类型: 自回归,仅解码器 Transformer

参数数量: 15.4 亿

上下文窗口: 最多 512K 个标记(组合输入和输出)

隐藏大小: 1536

层数: 28

查询头: 12

KV 头: 2

头大小: 128

中间大小: 8960

支持的语言: 英语、中文、日语、韩语、法语、西班牙语、葡萄牙语、德语、意大利语、俄语、越南语、泰语、阿拉伯语等等(共 29 种)

2、ReaderLM-v2的性能

ReaderLM-v2 在各种任务上都进行了广泛的评估:

2.1、定量评估

HTML 到 Markdown 任务: 在 ROUGE-L、Levenshtein 距离和 Jaro-Winkler 相似度方面,其性能优于 Qwen2.5-32B-Instruct 和 Gemini2-flash-expr 等更大的模型。

HTML 到 JSON 任务: 在 F1 分数、精确度、召回率和通过率方面表现出色。

2.2、定性评估

在内容完整性、结构准确性和格式符合性三个方面都表现出色。

2.3、训练细节

ReaderLM-v2 基于 Qwen2.5-1.5B-Instruction 构建,并使用复杂的流水线进行训练:数据准备、合成数据生成(包括起草、改进和评论三个步骤)、以及训练过程(长上下文预训练、监督微调、直接偏好优化和自我博弈强化调整)。

ReaderLM-v2的安装和使用方法

1、ReaderLM-v2 安装

T1、通过 Reader API 使用

ReaderLM-v2 已完全集成到 Reader API 中。要使用它,只需在请求头中指定 x-engine: readerlm-v2 并使用 -H 'Accept: text/event-stream' 启用响应流:

curl https://r.jina.ai/https://news.ycombinator.com/ -H 'x-engine: readerlm-v2' -H 'Accept: text/event-stream'

无 API 密钥也能使用,但速率限制较低。 更高的速率限制需要购买 API 密钥。请注意,ReaderLM-v2 请求会消耗 API 密钥分配中 3 倍的正常标记数量。

T2、在 Google Colab 上使用

可以通过提供的 Colab notebook 体验 ReaderLM-v2,该 notebook 演示了 HTML 到 Markdown 转换、JSON 提取以及使用 HackerNews 首页作为示例的指令遵循。 notebook 针对 Colab 的免费 T4 GPU 层进行了优化,需要 vllm 和 triton 进行加速和运行。

T3、本地使用

要本地使用 ReaderLM-v2:

安装依赖项:

pip install transformers

加载并运行模型:

from transformers import AutoModelForCausalLM, AutoTokenizer

device = "cuda"  # or "cpu"
tokenizer = AutoTokenizer.from_pretrained("jinaai/ReaderLM-v2")
model = AutoModelForCausalLM.from_pretrained("jinaai/ReaderLM-v2").to(device)

(可选) 预处理 HTML: 为了减少噪声和输入长度,可以预先清理 HTML 以移除脚本、样式、注释等:

# clean_html 函数代码 (已在问题描述中提供)

创建提示:

# create_prompt 函数代码 (已在问题描述中提供)

运行模型: 使用 tokenizer.encode 将提示编码,然后使用 model.generate 生成输出,最后使用 tokenizer.decode 解码输出。

ReaderLM-v2的案例应用

示例展示了如何将 HTML 转换为 Markdown 和 JSON:

1、HTML 到 Markdown 示例

代码示例中展示了如何将简单的 HTML 代码转换为 Markdown。

2、HTML 到 JSON 示例

代码示例中展示了如何根据预定义的 JSON 模式将 HTML 转换为 JSON。 这需要提供一个 schema 参数。


原文地址:https://blog.csdn.net/qq_41185868/article/details/145250177

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!