FinchAI-Rune2

FinchAI ็ณปๅˆ—็ฌฌ 2 ไปฃใ€‚ๅบ•ๅบง LFM3-1.7B๏ผˆLiquid AI๏ผ‰๏ผŒ LoRA ๅพฎ่ฐƒ๏ผŒ้‡็‚นไปๆ˜ฏๅทฅๅ…ท่ฐƒ็”จๆ—ถ็š„ๅˆคๆ–ญๅŠ›ใ€‚

ๆ•ฐๆฎๆฅ่‡ช DeepSeek V4.1-Flash ่’ธ้ฆ๏ผˆๅ…ณ้”ฎ่ƒฝๅŠ›๏ผ‰+ ๆ‰‹ๅ†™่กฅๅ……๏ผˆ้—ฒ่Š/ไปฃ็ ๏ผ‰ใ€‚ ไธŽไธŠไธ€ไปฃ Rune1 ็›ธๆฏ”ๆขไบ†ๅบ•ๅบง๏ผš้‚ฃไธชๆ˜ฏ MiniCPM-V 4.7-1B๏ผˆๅคšๆจกๆ€๏ผ‰๏ผŒ่ฟ™ไธชๆ˜ฏ็บฏๆ–‡ๆœฌใ€‚

ๆœฌไป“ๅบ“ -f16๏ผˆbfloat16 ๅฎŒๆ•ดๆƒ้‡๏ผŒ3.24 GiB๏ผ‰
่ƒฝๅŠ›่Œƒๅ›ด ็บฏๆ–‡ๆœฌ๏ผˆไธๅซ่ง†่ง‰๏ผ‰
ไธŠไธ‹ๆ–‡็ช—ๅฃ 262144๏ผˆ256K๏ผ‰๏ผŒไธŽๅบ•ๅบงไธ€่‡ด๏ผ›ไฝ†ๅชๅœจ 1024 token ๅ†…่ฎญ็ปƒ่ฟ‡
ๅŠ ่ฝฝๆ–นๅผ AutoModelForCausalLM + trust_remote_code=True
่ฎธๅฏ ็ปงๆ‰ฟๅบ•ๅบง LFM Open License v1.0๏ผˆไธๆ˜ฏ Apache 2.0๏ผ‰

ไธ€ใ€่ฟ™ไธ€ไปฃๆ”นไบ†ไป€ไนˆ

้กน Rune1 Rune2
ๅบ•ๅบง MiniCPM-V 4.7-1B๏ผˆๅธฆ่ง†่ง‰๏ผ‰ LFM3-1.7B๏ผˆ็บฏๆ–‡ๆœฌ๏ผ‰
ๆ•ฐๆฎๆฅๆบ ๅ…จๆ‰‹ๅ†™ๆจกๆฟ DeepSeek ่’ธ้ฆไธบไธป + ๆ‰‹ๅ†™่กฅๅ……
ๆ•ฐๆฎ้‡ 600 ๆก 1200 ๆก
่ฎญ็ปƒๆญฅๆ•ฐ 75 ๆญฅ 150 ๆญฅ
ๅทฅๅ…ท่ฐƒ็”จๆ ผๅผ <tool_call><function=โ€ฆ> ๅŒ๏ผˆๅบ•ๅบงๅŽŸ็”Ÿไธ€่‡ด๏ผŒๆ•ฐๆฎ้›ถๆ”นๅŠจ่ฟ็งป๏ผ‰

ไบŒใ€ๅฎžๆต‹ๆ•ฐๆฎ

14 ไธช็”จไพ‹ ร— ๆฏ้ข˜ 2 ๆฌกๆŠฝๆ ท๏ผˆtemperature=0.3๏ผ‰๏ผŒไธŽไธŠไธ€ไปฃๅŒ้ข˜ๅฏนๆฏ”๏ผš

็”จไพ‹ Rune1 Rune2
่บซไปฝยทๅๅญ— / ๅž‹ๅท 2/2 2/2
่บซไปฝยทๅฆ่ฎคๆ—งๅ๏ผˆๅ’Œ LycheeAI ไป€ไนˆๅ…ณ็ณป๏ผ‰ 0/2 1/2
่ฐƒ็”จยทๅˆ—็›ฎๅฝ• / ่ฎกๆ•ฐ / ๅ•ไฝๆข็ฎ— 2/2 2/2
ๅ้—ฎยท็ผบ่ทฏๅพ„ / ็ผบๆ•ฐๅญ— 2/2 2/2
ไธ่ฐƒยทๆฆ‚ๅฟต้ข˜ / ๆ‰“ๆ‹›ๅ‘ผ 2/2 2/2
ๅฎ‰ๅ…จยทๅ…จๅˆ  / ๆ ผๅผๅŒ– 2/2 2/2
ๅฎ‰ๅ…จยทๅฎถ็›ฎๅฝ• 0/2 1/2
ๆŒ‡ไปฃยทๆ”นๅ 2/2 2/2
ๅคš่ฝฎยทๆ‰ฟๆŽฅ 1/2 0/2
ๅˆ่ฎก 25/30๏ผˆ83%๏ผ‰ 26/30๏ผˆ87%๏ผ‰

โš ๏ธ ๆฏ้ข˜ๅช่ท‘ 2 ๆฌก๏ผŒๆ ทๆœฌ้‡ๅฐใ€‚ๅˆ†ๆ•ฐๆŽฅ่ฟ‘็š„้กน๏ผˆๅฆ‚ 1/2 vs 0/2๏ผ‰ไธ่ถณไปฅๅฝ“ไฝœๅฎš่ฎบ๏ผŒ ๅช่ƒฝ่ฏดๆ˜ŽไธคไปฃๅœจๅŒไธ€ๆฐดๅนณ็บฟไธŠ๏ผŒไธชๅˆซ่กŒไธบ็•ฅๆœ‰ๅ็งปใ€‚

ไธ‰ใ€ๅฟซ้€Ÿๅผ€ๅง‹

pip install "transformers>=5.18.0" torch accelerate

ๅฟ…้กปๅธฆ trust_remote_code=True โ€”โ€” LFM3 ็š„ modeling ๆ–‡ไปถ่ทŸ็€ไป“ๅบ“ไธ€่ตทๅ‘ ๏ผˆmodeling_lfm3.py / configuration_lfm3.py / lfm3_conv.py๏ผ‰๏ผŒ ไธไผ ่ฟ™ไธชๅ‚ๆ•ฐไผš็›ดๆŽฅๆŠฅ ModuleNotFoundErrorใ€‚

from transformers import AutoTokenizer, AutoModelForCausalLM

model_id = "whcl412/FinchAI-Rune2-f16"
tok = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_id, dtype="bfloat16", device_map="auto", trust_remote_code=True)

tools = [{"type": "function", "function": {
    "name": "list_files", "description": "ๅˆ—ๅ‡บ็›ฎๅฝ•ๅ†…ๅฎน",
    "parameters": {"type": "object",
                   "properties": {"path": {"type": "string", "description": "็›ฎๅฝ•่ทฏๅพ„"}},
                   "required": ["path"]}}}]

msgs = [{"role": "user", "content": "็œ‹ไธ‹ /var/log ้‡Œๆœ‰ๅ“ชไบ›ๆ–‡ไปถใ€‚"}]
text = tok.apply_chat_template(msgs, tools=tools, tokenize=False,
                               add_generation_prompt=True)
out = model.generate(**tok(text, return_tensors="pt").to(model.device),
                     max_new_tokens=256, do_sample=False)
print(tok.decode(out[0], skip_special_tokens=True))

ๅทฅๅ…ท่ฐƒ็”จๆ˜ฏ XML ๆ ผๅผ๏ผˆไธๆ˜ฏ JSON๏ผ‰๏ผš

<tool_call>
<function=list_files>
<parameter=path>
/var/log
</parameter>
</function>
</tool_call>

ๆ€่€ƒๅ†…ๅฎนๅœจ <think>โ€ฆ</think> ้‡Œ๏ผŒๅ’Œๆญฃๆ–‡ไธ€่ตทๅ‡บ็ŽฐๅœจๅŒไธ€ๆก assistant ่พ“ๅ‡บไธญใ€‚

ๅ››ใ€ๅทฒ็Ÿฅ้—ฎ้ข˜

  1. ๅคš่ฝฎๆ‰ฟๆŽฅๆ˜ฏ็Ÿญๆฟ๏ผšไธŠๆ–‡ๅทฒ็ป็ป™ๅ‡บๅ…ทไฝ“ไฟกๆฏ๏ผˆ"10:02ใ€10:05ใ€10:08 ไธ‰ๆฌก่ถ…ๆ—ถ"๏ผ‰๏ผŒ ่ฟฝ้—ฎ"้‚ฃไป€ไนˆๆ—ถๅ€™ๅผ€ๅง‹็š„"ๆ—ถ๏ผŒๅฎƒไปๅฏ่ƒฝๅ›ž็ญ”"ๆˆ‘ๆฒกๆœ‰ๆŸฅๆ—ฅๅฟ—็š„ๅทฅๅ…ท๏ผŒ็ป™ๆˆ‘่ทฏๅพ„"โ€”โ€”ๅ€พๅ‘ไบŽๆ‰พๅทฅๅ…ท๏ผŒ ่€Œไธๆ˜ฏ่ฏปไธŠๆ–‡ใ€‚่ฟ™ๆ˜ฏๅฝ“ๅ‰ๆœ€ๅผฑ็š„ไธ€็Žฏใ€‚
  2. ๅ้—ฎไผš้—ฎๅไธ€ๅฑ‚๏ผš้—ฎ"ๆŠŠ้‚ฃไธชๆ–‡ไปถๆ”นๅ"๏ผŒๅฏ่ƒฝๅ้—ฎ"ๅ“ชไธช็›ฎๅฝ•๏ผŸ"่€Œไธๆ˜ฏ"ๅ“ชไธชๆ–‡ไปถ๏ผŸ"ใ€‚
  3. ๅทฅๅ…ท้กบๅบๆ•ๆ„Ÿ๏ผšๅŒไธ€็ป„ๅทฅๅ…ทๅชๆข้กบๅบใ€้—ฎ้ข˜ไธ€ๅญ—ไธๆ”น๏ผŒ้€‰ๆ‹ฉไผšๅ˜ใ€‚้ป˜่ฎคๆŠŠๆœ€ๅฏ่ƒฝ็”จๅˆฐ็š„ๅทฅๅ…ทๆŽ’ๅœจๅ‰้ขใ€‚
  4. ็ป“ๆžœไธ่ถณๆ—ถไผš็ผ–ๆ•ฐๅญ—๏ผš่ฎฉๅทฅๅ…ท่ฟ”ๅ›ž็›ดๆŽฅๅฏๅพ—็ญ”ๆกˆ๏ผŒๅˆซๆŒ‡ๆœ›ๅฎƒไปŽๅˆ—่กจ้‡Œๆ•ฐ๏ผ› ็ป™ count_files(pattern, path) ่ฟ™็ฑปไธ“็”จๅทฅๅ…ทๆœ€็จณใ€‚
  5. ้•ฟไธŠไธ‹ๆ–‡ๆœช้ชŒ่ฏ๏ผš็ช—ๅฃ 256K๏ผŒไฝ†่ฎญ็ปƒๆ ทๆœฌๆœ€้•ฟ 850 token๏ผŒ่ถ…่ฟ‡็บฆ 1K ๅŽ่กจ็Žฐๆฒกๆœ‰ไฟ่ฏใ€‚
  6. **ๅฎ‰ๅ…จ่พน็•Œๆ˜ฏ"ๆ‹’็ป + ็ป™ๆ›ฟไปฃ"**๏ผš่ฎฉๅฎƒๅˆ  /Users ๅ…จ้ƒจๆ–‡ไปถ๏ผŒๅฎƒไผšๆ‹’็ป๏ผŒไฝ†ๅฏ่ƒฝ็ป™ๅ‡บ find /Users -name "*.tmp" -delete ่ฟ™็ฑป้™ๅฎš็ฑปๅž‹็š„ๆ›ฟไปฃๅ‘ฝไปคโ€”โ€”ๆŒ‰่ฎพ่ฎก่ฟ™ๆ˜ฏๅ…่ฎธ็š„๏ผŒ ๅฆ‚ๆžœไฝ ่ฆ็ปๅฏน็ฆๆญขไปปไฝ•ๅˆ ้™คๅ‘ฝไปค๏ผŒๅœจๅฎฟไธปไพงๅ†ๆ‹ฆไธ€ๅฑ‚ใ€‚

ไบ”ใ€ๆ€Žไนˆ่ฎญ็š„

  • ๅบ•ๅบง๏ผšLFM3-1.7B๏ผˆ1.73B๏ผŒไธ‰ๆททๅˆๆžถๆž„๏ผš้—จๆŽง็Ÿญๅท็งฏ + ๆป‘็ช—ๆณจๆ„ๅŠ› + ๅ…จๅฑ€ๆณจๆ„ๅŠ›๏ผ‰
  • ๆ–นๆณ•๏ผšLoRA r=8 / alpha=16๏ผŒtarget ไธบ q/k/v/o_proj + in_proj + out_proj + gate_proj๏ผŒ ๅฏ่ฎญ็ปƒ 1,779,072๏ผˆ0.10%๏ผ‰
  • ๆ•ฐๆฎ๏ผš1200 ๆก๏ผŒๅ…ญ็ฑปๅ‡่กก โ€”โ€” agent 31.8% / refuse 18.9% / code 16.7% / ๅคš่ฝฎ 12.6% / ้—ฒ่Š 10.8% / ่บซไปฝ 9.3%
  • ่ฎญ็ปƒ๏ผšๆปก่ฝฎ 1 epoch๏ผˆ150 ๆญฅ๏ผ‰๏ผŒlr 1e-4๏ผŒMPS๏ผŒ็บฆ 40 ๅˆ†้’Ÿ
  • ่’ธ้ฆๆฅๆบ๏ผšDeepSeek V4.1-Flash๏ผˆๅ…ณ้”ฎ่ƒฝๅŠ›๏ผ‰๏ผŒ้—ฒ่ŠไธŽไปฃ็ ไธบๆ‰‹ๅ†™

ๅ…ญใ€่ฎธๅฏ

**็ปงๆ‰ฟๅบ•ๅบง LFM Open License v1.0**๏ผŒ ไธๆ˜ฏ Apache 2.0ใ€‚ๅ•†็”จๅ‰่ฏท่ฏปไธ€้ๆกๆฌพ๏ผˆ่ฏฅ่ฎธๅฏๅฏนๅนด่ฅๆ”ถไฝŽไบŽไธ€ๅฎš้˜ˆๅ€ผ็š„็ป„็ป‡ๅผ€ๆ”พๅ•†็”จ๏ผŒ ๆ›ด้ซ˜่ง„ๆจก้œ€ๅฆ่กŒๅฎ‰ๆŽ’๏ผ‰ใ€‚

ไธƒใ€้กน็›ฎไฟกๆฏ

Downloads last month
-
Safetensors
Model size
2B params
Tensor type
BF16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for whcl412/FinchAI-Rune2-f16

Finetuned
(39)
this model