Jina AI 发布 Reader-LM 系列:革新 HTML 到 Markdown 的转换技术!

基咯咯 Halo咯咯 2024年10月05日 07:45

图片

在不断进化的语言模型领域,Jina AI 最近推出了两款突破性的小型语言模型——Reader-LM-0.5B 和 Reader-LM-1.5B。这两款模型专为将嘈杂的 HTML 内容转换为清晰的 Markdown 格式而设计,不仅引领了小型语言模型(SLM)技术的新时代,还在处理多语种和长文本方面展现了非凡的能力。本文将深入探讨这两款模型的背景、架构、性能以及实际应用,以揭示其在现代数据处理中的潜力。

01

背景与目的 

2024年4月,Jina AI 推出了 Jina Reader,这是一种将任意 URL 转换为 Markdown 格式的 API。最初,Jina Reader 利用 Mozilla 的 Readability 工具提取网页内容,然后使用正则表达式和 Turndown 库将清理后的 HTML 转换为 Markdown。然而,这种方法并未能完全解决所有问题,如复杂的 HTML 结构和内容过滤不准确等。随着用户反馈的增加,Jina AI 决定采用语言模型端到端地解决这一问题。
语言模型的引入不仅避免了依赖手动规则的局限,还提高了处理效率。Jina AI 的目标是利用小型语言模型(SLM)在边缘环境中高效地完成 HTML 到 Markdown 的转换任务,从而使这一技术更具成本效益和应用价值。
图片

02

Reader-LM 模型介绍 

Jina AI 发布的 Reader-LM 系列包括两个型号:Reader-LM-0.5B 和 Reader-LM-1.5B。这两款模型经过专门训练,旨在将原始 HTML 转换为 Markdown,并支持高达 256K 令牌的上下文长度。这对于处理现代网站中的冗长和嘈杂的内容至关重要。
  • Reader-LM-0.5B:拥有 4.94 亿参数,24 层,896 隐藏大小和 14 个查询头。尽管体积较小,但在选择性复制任务中表现出色。

  • Reader-LM-1.5B:参数数量达到 15.4 亿,包含 28 层,1536 隐藏大小和 12 个查询头。它在处理复杂 HTML 结构时具有更强的能力。

这两个模型均支持长文本处理,且具备多语种能力,使其成为全球应用的理想选择。
图片

03

架构与规格 

Reader-LM 模型的架构设计旨在高效处理长文本输入,并进行选择性复制。与传统的语言模型任务(如文本生成或代码编写)不同,Reader-LM 专注于识别并保留相关内容,跳过不必要的元素,如侧边栏和广告,以 Markdown 语法格式化剩余内容。
1. Reader-LM-0.5B
    • 参数:4.94 亿
    • 层数:24
    • 隐藏大小:896
    • 查询头:14
2. Reader-LM-1.5B
    • 参数:15.4 亿
    • 层数:28
    • 隐藏大小:1536
    • 查询头:12
这些模型能够高效处理高达 256K 令牌的上下文长度,从而应对现代网站内容中的冗长和复杂性。
图片

04

性能与基准测试 

在性能评估方面,Reader-LM-0.5B 和 Reader-LM-1.5B 的表现优于许多其他大型语言模型。它们经过了 GPT-4o、Gemini-1.5-Flash、LLaMA-3.1-70B 和 Qwen2-7BInstruct 等模型的严格基准测试。
  • ROUGE-L(用于摘要和问答任务):Reader-LM-1.5B 达到 0.72 的分数,表现优于 GPT-4o。

  • Word Error Rate (WER,评估生成的 Markdown 与原始 HTML 之间的不匹配):Reader-LM-1.5B 为 1.87,相比之下其他模型的 WER 更高。

  • Token Error Rate (TER,衡量幻觉内容的比率):Reader-LM-1.5B 的 TER 为 0.19,显示了其在生成准确 Markdown 方面的优势。

这些指标证明了 Reader-LM 模型在从 HTML 生成准确 Markdown 方面的卓越表现,尤其是在处理复杂的 HTML 结构时。

05

训练与发展 

Reader-LM 模型的训练过程包含了高质量的 HTML 和 Markdown 数据对。Jina AI 使用现有的 Jina Reader API 生成这些数据,并补充了 GPT-4o 生成的合成 HTML 数据。训练数据集总计约 25 亿令牌,分为两个阶段:
短而简单的 HTML:涉及高达 32K 令牌和 15 亿训练令牌。
长而复杂的 HTML:序列扩展到 128K 令牌,包含 12 亿训练令牌。此阶段采用了“锯齿环注意力机制”,以改进长文本处理。
这些模型的训练和优化不仅有效提升了转换效率,还避免了不必要的计算开销。

06

实际应用 

Reader-LM 模型的应用场景非常广泛。无论是个人用户还是企业,均可通过 Google Colab 进行测试,而生产环境则可以利用 Azure 和 AWS 等平台。Reader-LM 模型根据 CC BY-NC 4.0 许可提供商业使用选项,支持本地解决方案的公司。
这些模型在数据提取和清理方面具有极高的效率,使得从 HTML 到 Markdown 的转换变得更加便捷。其多语种能力使其适用于不同语言和地区的应用,帮助开发者和企业优化数据工作流程,提升信息处理的精度和速度。

# 快速开始
要使用此模型,您需要安装transformers
pip install transformers<=4.43.4

然后,您可以按如下方式使用该模型:
# pip install transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
checkpoint = "jinaai/reader-lm-0.5b"

device = "cuda" # for GPU usage or "cpu" for CPU usage
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForCausalLM.from_pretrained(checkpoint).to(device)

# example html content
html_content = "<html><body><h1>Hello, world!</h1></body></html>"

messages = [{"role""user""content": html_content}]
input_text=tokenizer.apply_chat_template(messages, tokenize=False)

print(input_text)

inputs = tokenizer.encode(input_text, return_tensors="pt").to(device)
outputs = model.generate(inputs, max_new_tokens=1024, temperature=0, do_sample=False, repetition_penalty=1.08)

print(tokenizer.decode(outputs[0]))

07

结语 

Reader-LM-0.5B 和 Reader-LM-1.5B 的推出标志着小型语言模型技术的重大进步,特别是在 HTML 到 Markdown 转换领域。这些模型不仅解决了现代互联网内容中嘈杂信息的问题,还提供了高效、成本效益高的数据提取解决方案。凭借其紧凑的体积、长文本处理能力和多语种支持,Reader-LM 系列为开发者和企业提供了强大且实用的工具,推动了数据处理技术的发展。
图片