Orukeet,基于Parakeet的新语音识别模型

Reddit r/LocalLLaMA 模型

摘要

Orukeet 是基于 NVIDIA Parakeet 构建的 25 种语言语音识别器,采用拟合的 Gabor 核替代编码器滤波器,在大多数基准测试中性能超越基础模型。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/09/11 16:34

oruk/orukeet · Hugging Face

来源:https://huggingface.co/oruk/orukeet oruk (https://oruk.ai/)

Nathan Roll1,2· Irene Yi1,2· Büşra Marşan1,2 Vianney Grenez1· Gabriel Stein4· Momcilo Mrkaic5 Pavle Padjin5· Vladimir Zeljkovic5· Calbert Graham1,3

1Oruk AI

Orukeet 是基于 NVIDIA Parakeet TDT 0.6B v3 构建的 25 语言语音识别模型。它将编码器中一半的时序深度可分离卷积核替换为 12,288 个拟合的、冻结的 Gabor 卷积核,并在多语言与多口音数据上训练其余参数。

Orukeet 在 74 个测试集中的 61 个上优于 Parakeet,包括 LibriSpeech 测试集-干净部分(词错误率 1.46% 对比 1.53%),测试集-其他部分(2.86% 对比 3.14%),以及 FLEURS 英语部分(3.82% 对比 4.28%)。在所有 25 种 FLEURS 语言中,合并词错误率为 9.85% 对比 11.01%相对降低 10.6%。最终的微调和检查点选择使用 LibriSpeech 测试集-其他部分。

Orukeet 可用于录音、媒体、批量转录、服务器工作进程和交互式应用。NeMo、ONNX INT8、原生 Q8 和原生 F16 均源自相同的 r3 版本检查点 (031c8ddab484)。

代码 (https://github.com/Oruk-AI/orukeet)·OpenWhispr PR (https://github.com/OpenWhispr/openwhispr/pull/2085)·技术报告 (https://huggingface.co/oruk/orukeet/blob/main/orukeet-technical-report.pdf)·制品哈希值 (https://huggingface.co/oruk/orukeet/blob/main/ARTIFACTS.json)

https://huggingface.co/oruk/orukeet#run-orukeet-with-nemo使用 NeMo 运行 Orukeet

使用启用了 CUDA 的 PyTorch 环境,配合 nemo_toolkit[asr]==3.0.0huggingface-hub。记录的源环境 (https://github.com/Oruk-AI/orukeet/blob/main/evidence/standard-asr-20260908/runtime.json) 列出了评估中使用的精确包版本。

`` from huggingface_hub import hf_hub_download from nemo.collections.asr.models import ASRModel

checkpoint = hf_hub_download( “oruk/orukeet”, “orukeet-v0.1.0.nemo”, revision=“555136b50265a132d4cea0d35560c26fc4f657ab”, ) asr = ASRModel.restore_from(checkpoint) asr.eval() print(asr.transcribe([“recording.wav”], return_hypotheses=True)[0].text) ``

orukeet fetch source 获取相同的、经过哈希校验的检查点。进一步训练时,会在构建优化器之前添加提供的冻结行参数化。

https://huggingface.co/oruk/orukeet#architecture架构

该模型保留了 Parakeet 的 627,008,134 个参数、24 层 FastConformer 编码器、标记与持续时间转录器和分词器。每个编码器块包含 1,024 个九抽头时序深度可分离卷积核。一个选定的卷积核存储其自身的拟合 Gabor 函数:

g(t)=Aexp[−(t−μ)²/(2σ²)]cos(2πf(t−μ)+φ), t=−4,…,4。

我们拟合了全部 24,576 个卷积核,并全局选择了 12,288 个归一化平方误差最低的核。这为每层选择了 175–748 个核,中位数相对均方根误差为 6.32%,截断点为 13.30%。110,592 个选定的抽头保持固定;626,897,542 个标量参数保持可训练。原生导出将拟合的抽头实现为普通的 F16 卷积权重。

四个精确的卷积核拟合示例 (https://huggingface.co/oruk/orukeet/blob/main/kernel-fits.png)

https://huggingface.co/oruk/orukeet#construction构建

Gabor 恢复使用了转录器损失、编码器匹配和标记/持续时间蒸馏。另外 4,035 次低学习率更新产生了父检查点。最终的 r3 通道应用了 168 次 AdamW 更新,使用 3% 的预热,并从 5e-65e-7 进行余弦衰减,在 2,939 个 LibriSpeech 测试集-其他部分录音上进行了三轮训练。目标保留了原生大小写和标点,同时纠正了参考词。相同的子集用于检查点选择。导出审计验证了所有 12,288 个拟合卷积核保持精确,且所有 651 个其他参数张量均发生了变化。

拟合与冻结方案 (https://github.com/Oruk-AI/orukeet/blob/main/training/gabor_half/README.md)·最终微调 (https://github.com/Oruk-AI/orukeet/blob/main/training/librispeech_ft/README.md)·训练谱系 (https://github.com/Oruk-AI/orukeet/blob/main/training/README.md)

https://huggingface.co/oruk/orukeet#evaluation评估

两个模型都使用 NeMo 贪婪批量 TDT、FP32 权重和 BF16 CUDA 自动混合精度解码相同的录音。固定的评分代码定义了文本规范化和复合对齐方式;合并词错误率将错误数和归一化参考词数求和。数值越低越好。

对比项录音数Parakeet 词错误率Orukeet 词错误率
LibriSpeech 测试集-干净部分2,6201.53%1.46%
LibriSpeech 测试集-其他部分2,9393.14%2.86%
FLEURS 英语部分6474.28%3.82%
FLEURS 合并,25 种语言20,14611.01%9.85%
口音/领域合并,47 个子集12,00616.72%15.25%
口音/领域英语,20 个子集5,1209.51%8.84%

Orukeet 在 27 个完整的 LibriSpeech/FLEURS 子集中改进了 25 个,在 47 个口音/领域子集中改进了 36 个,包括全部 20 个英语口音/领域子集。口音/领域样本包含每个子集 256 个录音和所有 230 个 Lesbos 录音;前述微调包含 6,118 个采样录音。朗读语音和口音/领域有分开的合并结果。每个录音都对分数有贡献。

全部 74 对词错误率/字符错误率分数和编辑计数 (https://huggingface.co/oruk/orukeet/blob/main/docs/current-checkpoint-benchmarks.md)·方法 (https://huggingface.co/oruk/orukeet/blob/main/docs/technical-report.md)·技术报告 (https://huggingface.co/oruk/orukeet/blob/main/orukeet-technical-report.pdf)

https://huggingface.co/oruk/orukeet#sherpa-onnx-inferencesherpa-onnx 推理

ONNX INT8 归档包 (https://huggingface.co/oruk/orukeet/resolve/55a984d46f68323301837194ce647c702f55facc/onnx/sherpa-onnx-orukeet-v0.1.0-int8.tar.bz2) 使用标准 Parakeet TDT v3 布局:encoder.int8.onnxdecoder.int8.onnxjoiner.int8.onnxtokens.txt。它还包含 BPE 词汇表、权重许可证和署名信息。Gabor 滤波器是普通的卷积权重;该模型使用 sherpa-onnx 现有的离线转录器加载器。

优化后的编码器评估了 24 个量化的深度可分离卷积,使用 ONNX Runtime 中已有的运算符实现了完全等效的 FP32 算术。所有 640 个应用检查转录均与之前的导出匹配。在相同的 160 个片段计时样本上,使用 M5 Max 时,优化后中位数文件转录时间为 390 毫秒,而优化前为 432 毫秒,原版 Parakeet 为 428 毫秒。 执行细节和记录 (https://github.com/Oruk-AI/orukeet/blob/main/evidence/speed20260910/README.md)。

OpenWhispr 1.10.0 (https://github.com/OpenWhispr/openwhispr/releases/tag/v1.10.0) 将 Orukeet 作为其推荐的本地模型发布,通过其现有的 Parakeet 工作进程使用此格式。选择 Local → Oruk → Orukeet,然后 Download。安装后识别在本地运行。

归档包 SHA-256:f9191f30178cc9122ce2f023bf9fefafc822028307b0efa4caff645ba3fe8d0a

导出和加载器说明 (https://github.com/Oruk-AI/orukeet/blob/main/export/onnx/README.md)·转换证据 (https://github.com/Oruk-AI/orukeet/tree/main/evidence/onnx-r3-20260910)·OpenWhispr 检查与对比分数 (https://github.com/Oruk-AI/orukeet/blob/main/integrations/openwhispr/APP_BENCHMARKS.md)

https://huggingface.co/oruk/orukeet#native-inference原生推理

在已激活的虚拟环境中使用 Python 3.12+。原生包版本为 v0.1.1;r3 权重文件名保留其原始的 v0.1.0 名称。

python -m pip install --upgrade \ https://github.com/Oruk-AI/orukeet/releases/download/v0.1.1/orukeet-0.1.1-py3-none-any.whl orukeet install --device auto --cache ./orukeet-cache --output installation.json

`` import json from pathlib import Path from orukeet import Orukeet

config = json.loads(Path(“installation.json”).read_text(encoding=“utf-8-sig”)) with Orukeet(config[“model”], config[“runtime”], device=config[“device”]) as asr: print(asr.transcribe(“recording.wav”)[“text”]) ``

安装程序会验证 Q8 权重和原生运行时。它会在 Apple Silicon 上选择优化的 Metal 运行时,在检测到的 NVIDIA 设备上选择 CUDA,或者根据平台可用的运行时选择 CPU。请在录音之间保持工作进程存活,以避免重复加载模型。

运行完整的本地教程 (https://oruk.ai/guides/orukeet-local-transcription) 以获取提供的音频文件、可复用的运行器、实际输出和验证哈希值。原生响应包含转录和窗口级别的片段时间;它不返回情感、说话风格或说话人分离分数。

用法和批量转录 (https://github.com/Oruk-AI/orukeet/blob/main/docs/usage.md)·原生运行时和测量 (https://github.com/Oruk-AI/orukeet/blob/main/runtime/README.md)

https://huggingface.co/oruk/orukeet#model-files模型文件

格式文件字节数
NeMo 源文件orukeet-v0.1.0.nemo2,509,342,720
原生 Q8orukeet-v0.1.0-q8.gguf714,456,704
原生 F16orukeet-v0.1.0-f16.gguf1,296,681,088
ONNX INT8 归档包onnx/sherpa-onnx-orukeet-v0.1.0-int8.tar.bz2486,807,585

所有格式均源自 r3。NeMo 和原生文件固定在修订版 555136b50265a132d4cea0d35560c26fc4f657ab;ONNX 归档包固定在 55a984d46f68323301837194ce647c702f55facc。ONNX 包解压后占用 671,619,800 字节。

  • NeMo SHA-256:031c8ddab4845aeced904a7cde8e8aa57993b2e344716cf83a545b079c473b56
  • Q8 SHA-256:93ce19c6d8244acbfea980eeaf970531d4f216171578ef8e041dcc2d070a45bd
  • F16 SHA-256:de53fb8ec251fb07ade15baabe17b00774ae3f1112f8618b062337f90fb49194

Q8 和 F16 在 Apple Silicon 上使用 Metal 和 CPU 通过了实际转录和协议检查。转换审计验证了 F16 舍入后的所有 12,288 个拟合卷积核。上表报告了 NeMo 识别分数;原生检查有其自身的模型哈希和运行时记录。

制品目录 (https://github.com/Oruk-AI/orukeet/blob/main/src/orukeet/artifacts.json)·原生转换与验证 (https://github.com/Oruk-AI/orukeet/tree/main/evidence/r3-promotion-20260908/)

https://huggingface.co/oruk/orukeet#license-and-attribution许可证与署名

代码:MIT。权重和拟合卷积核:CC BY-SA 4.0,保留 NVIDIA 的基础署名。无转录的指标记录:CC BY 4.0。数据集音频根据其原始提供商的条款获取。

数据来源 (https://github.com/Oruk-AI/orukeet/blob/main/docs/data-and-licenses.md)·署名信息 (https://huggingface.co/oruk/orukeet/blob/main/NOTICE.md)

https://huggingface.co/oruk/orukeet#citation引用

@techreport{roll2026orukeet, title = {{Orukeet}: 多语言 {ASR} 与冻结 {Gabor} 卷积核}, author = {Roll, Nathan and Yi, Irene and Mar{\c{s}}an, B{\"u}{\c{s}}ra and Grenez, Vianney and Stein, Gabriel and Mrkaic, Momcilo and Padjin, Pavle and Zeljkovic, Vladimir and Graham, Calbert}, institution = {Oruk AI}, year = {2026}, type = {技术报告}, url = {https://github.com/Oruk-AI/orukeet/blob/main/output/pdf/orukeet-technical-report.pdf} }

下载 BibTeX (https://huggingface.co/oruk/orukeet/blob/main/CITATION.bib)·引用元数据 (https://huggingface.co/oruk/orukeet/blob/main/CITATION.cff)

相似文章

ornith-ai/Ornith-1.5-9B-GGUF

Hugging Face Models Trending

Ornith-1.5是一款新的AI模型,它通过强化学习引入了端到端的自我改进,针对单GPU和边缘设备的高效部署进行了优化。