Laya-MLX

1个月前发布 46 00

Laya-MLX 是面向 Apple Silicon 的 MLX 原生移植项目,用于本地运行开放权重结构化决策模型,不依赖 PyTorch、Transformers,也无需云端API,模型推理全部在Mac本地完成。

所在地:
mizorewww
收录时间:
2026-09-24
其他站点:
Laya-MLXLaya-MLX

Laya-MLX 是面向 Apple Silicon 的 MLX 原生移植项目,用于本地运行开放权重结构化决策模型,不依赖 PyTorch、Transformers,也无需云端API,模型推理全部在Mac本地完成。项目不是Convai Innovations官方版本,属于独立MLX权重移植。

Laya-MLX

核心性能(M3 Max 40核GPU /128GB内存,FP16)

  • 原版Laya(421M)单短问题P50:13.42ms;多语言版(322M)P50仅7.39ms
  • 50问题吞吐量,多语言模型最高 395 q/s
  • MLX峰值内存占用:原版943.6 MiB,多语言版本仅687.6 MiB

    计时包含提示词预处理、分词、张量构建、GPU同步、推理校准、结果格式化,不含模型加载耗时。
    移植保真验证:3套检查点在FP32/FP16全部通过63组验证问题对齐,378次测试全部匹配;多次重复调用结果确定,无内存持续增长。

模型能力

Laya属于结构化决策模型,支持三类输出类型:

  • choice:多选,返回各选项概率
  • score:有序打分
  • noul:输出二分类真概率
    每条问题独立经过双向编码器,适合工单分流、客服判断、内容审核、路由分类场景。
    提供3个预转换MLX权重:
  1. laya:ModernBERT-large,421M,上下文512
  2. laya-multilingual:mmBERT-base,322M,上下文1024(中文场景优先选用)
  3. laya-typed-decisions:ModernBERT-large,421M,上下文1024

新增语言路由逻辑,自动根据非英文字符比例,把罗马尼亚语、波兰语、捷克语、土耳其语等语种自动切到多语言模型,不再误识别为英文;还提供predict_shortlist,先用Embedding预筛选候选选项,减少后续推理开销。

贪吃蛇Demo

内置终端贪吃蛇演示,每一步调用Laya模型做决策。M3 Max优化编译+前缀复用模式下,2400步达到75.40步/秒,全程本地推理。

操作:空格暂停、上下键调速、R重开、Q退出;--max-speed全速运行。

终端窗口最低要求 104列 × 35行。

环境与安装

硬件要求:Apple Silicon Mac,macOS14+,Python3.11+

pip install laya-mlx

快速上手示例

import laya_mlx as laya
agent = laya.load("aac6fef/laya-multilingual-mlx")
result = agent.predict(
    "发票被重复扣款,请退款。",
    {
        "department": {
            "type": "choice",
            "instructions": "Who should handle this?",
            "criteria": ["billing", "technical", "sales"],
        }
    },
)
print(result["answers"]["department"])

其他特性

  1. 支持命令行批量推理,可读取JSON问题配置;权重下载后可切换本地目录加载,不再重复拉取。
  2. 支持自行将上游Laya权重转换为MLX FP16格式。
  3. Router接口保留原有使用方式,支持预加载多模型;多线程共享Agent实例,不会重复加载模型。
  4. 附带完整Benchmark与深度性能研究文档,分析理论算力上限、自定义Metal核、量化方案等,结论表明同权重下很难普遍实现10倍提速。

相关导航