LaKun:文本与单图的类型化决策模型
我做 LaKun,是为了让模型针对一段文本状态或一张图片,直接回答我指定的选择、档位评分和二元判断问题。它输出每个候选项的 softmax 分数与最高分选项,不生成自由文本。一次调用最多可提交 20 道问题,目前每次最多处理一张图片。
这个 PyPI 安装包提供推理代码,源码包另含训练脚本;两种发行文件都不包含权重或数据集。我的完整检查点有 756,409,158 个参数;lakun.safetensors 大小为 3,025,715,432 字节(2.82 GiB),完整推理目录约 2.85 GiB。0.7B 是模型仓库名中的近似称呼。
安装与使用
先安装适合本机的 PyTorch,再安装 LaKun:
python -m pip install lakun
我目前还没有公开模型权重。只有已经取得完整本地检查点目录的人才能运行推理;安装代码包不会下载权重,--checkpoint 也不接受魔塔仓库 ID。我的源码项目中,检查点目录是 runs/lakun_full/best。在该目录存在的项目根目录下运行下面的命令,就能交互输入一道题、文本状态或本地图片路径:
lakun --checkpoint runs/lakun_full/best
纯文本单题也可以直接传参:
lakun --checkpoint runs/lakun_full/best --state "订单已经退款。" --type noul --question "订单是否已经退款?"
在交互模式下,输入图片路径即可问单图问题;选择题的候选项用 | 分隔。需要在脚本中使用时:
from lakun import LaKunPredictor
model = LaKunPredictor.from_pretrained("runs/lakun_full/best")
result = model.predict(
[{"type": "choice", "question": "这是什么类型的请求?", "criteria": ["咨询", "投诉", "退款"]}],
state="用户说:我被重复扣费了,请尽快退款。",
)
print(result["answers"][0])
choice 接受 2–20 个候选项,score 接受 3–20 个有序档位,noul 固定为 false/true。predicted_index 从 0 开始。上下文最多 512 token;输入超限时,我的实现优先保留问题和候选项,再保留状态开头。这里的 softmax 分数未经概率校准,不能直接当成现实中的正确率。
我测到的表现
在按组隔离的测试集上,所选检查点与 qwen3.8-flash 生成的伪标签的一致率为:选择题 83.11%、评分题 83.37%、二元题 80.92%,共 12,703 组、38,141 题。这不是人工核验的通用准确率。我以验证损失选出第 16,882 步检查点;第二轮训练损失继续下降、验证损失反而上升,所以没有保留更晚的权重。
我在 Windows 11、RTX 3060 12GB、PyTorch 2.7.1+cu126、FP32 下,先预热 5 次,再串行测 30 次 predict():纯文本单题中位耗时 17.01 ms,单图单题 162.01 ms。计时包含分词、图片预处理(如适用)、前向传播和结果整理,不含权重加载、下载和网络耗时;其他硬件的速度可能不同。
我目前看到的局限
在接近我的训练数据分布的题目上,LaKun 已有可用表现;我观察到带明确数值线索或候选项间简单推理的任务比较容易答好,但还没有独立分项测评来证明这一点。外部垃圾评论分类实验显示跨领域迁移较弱;第二轮验证损失变差也让我警惕过度专用化,甚至可能存在微调坍塌,但尚不能证明底座能力已经丧失。数据伪标签、答案位置偏斜、单图限制及未经校准的分数,都需要谨慎对待。
源码采用 Apache-2.0。模型权重的许可尚未确定,也尚未公开;源码许可不等于权重许可。我的 GitHub 源码仓库和魔塔权重仓库目前都是私有的。
Release files for lakun 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lakun-0.1.0.tar.gz | 52.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lakun-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 92.4 kB
Release files / lakun-0.1.0.tar.gz
| Download URL | lakun-0.1.0.tar.gz |
|---|---|
| Size | 52.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
84b182f2fef4921ea70b5c54531a0bc5dbf12e0459ca99299a73f669c69d6b6a
|
|
BLAKE2b-256 checksum How to use checksums |
00b001e1596688d43006d0a643211231f6587a16d53dbb01271503d0b48c80be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lakun-0.1.0-py3-none-any.whl
| Download URL | lakun-0.1.0-py3-none-any.whl |
|---|---|
| Size | 39.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
406452bc73a6dc6928425385f4fb6cb94b1a8446ecda9bae1035470ce90b923e
|
|
BLAKE2b-256 checksum How to use checksums |
92a3a0e67317b39086b593dcaac68cb5ff0b708230c62020f5fe20529d20e0e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|