阿里云PAI发布通用蒸馏框架EasyDistill2.0,提供主流大模型蒸馏场景最佳实践
é¿éäºPAIåå¸éç¨è¸é¦æ¡æ¶EasyDistill2.0ï¼æä¾ä¸»æµå¤§æ¨¡åè¸é¦åºæ¯æä½³å®è·µ
é¿éäºå¤§æ°æ®AIææ¯ 2026-08-19 0 é 读21åéåè¨
模åè½åè¿ä»£ä¸ä¼ä¸è½å°ä¹é´çå¼ åæ£å¨å å§ï¼æ´é¿çæç»´é¾ãæ´æ·±åº¦çå·¥å ·è°ç¨ãæ´å¤æç夿¨¡æçè§£ä¸ææ¶ç°ï¼èä¼ä¸çæ£å ³å¿çæ¯å¦ä½ä»¥å¯æ¥åçææ¬ï¼å¨èªæç¯å¢ä¸ç¨³å®ãè§æ¨¡åå°å¤ç°è¿äºè½åãç¥è¯è¸é¦æ¯ç ´è§£è¿ä¸å¼ åçå ³é®å·¥ç¨èå¼ï¼å®ä¸æ¯ç®åçæ¨¡åå缩ï¼èæ¯ä»¥æ°æ®åæä¸ºæ ¸å¿çè½åè¿ç§»æºå¶ãæå¸æ¨¡åéè¿çæé«è´¨éæ°æ®ãå±ç¤ºå®æ´æ¨çè¿ç¨ï¼æå·²ä¹ å¾çè½åè¿ç§»ç»å¦ç模åã
æ°æ®åæè½åå³å®äºè¸é¦çå¤©è±æ¿ï¼å®ä¸ä» éè¦è§æ¨¡åå°äº§åºæ ·æ¬ï¼è¿è¦ä¿è¯å¤æ ·æ§ãé¾åº¦åå¸ãè´¨éä¸è´æ§ä¸å¯è¿½æº¯æ§ã2025 年ï¼é¿éäºäººå·¥æºè½å¹³å°Â PAIÂ å¼æºäºå¤§æ¨¡åè¸é¦æ¡æ¶Â EasyDistillï¼developer.aliyun.com/article/166⦠并éç»åå¸äºÂ DistilQwen 系åè¸é¦æ¨¡åã卿å¡å å¤é¨å®¢æ·çè¿ç¨ä¸ï¼æä»¬æ³¨æå°ä¸ä¸ªæç¡®çååï¼è¸é¦è½å°çç¶é¢ï¼æ£ä»è®ç»ç®æ³è½¬ç§»å°è®ç»æ°æ®çè§æ¨¡åç产ã客æ·åå¤éå°ä¸ç±»é®é¢ï¼
-
ææå¸ï¼æ²¡é¾è·¯
è½è°ç¨å¼ºå¤§çæå¸æ¨¡å APIï¼ä½ç¼ºä¹ææå¸è¾åºç³»ç»æ§è½¬å为è®ç»æ°æ®çå·¥å ·é¾ï¼ç产ä¾èµä¸æ¬¡æ§èæ¬ï¼æµç¨é¾ä»¥å¤ç¨ã
-
åºæ¯ç¢çå
è¸é¦éæ±å·²æ©å±å°å¤æ¨¡æçè§£ãAgentÂ å·¥å ·è°ç¨ãèªå¨Â Prompt 工ç¨çé¢åï¼æ¯ä¸ªåºæ¯åç¬ææµç¨ï¼ç»´æ¤ææ¬çº¿æ§å¢é¿ã
-
æ ¼å¼è½¬æ¢ææ¬
æ°æ®è¦æ¥å ¥Â LLaMA-Factoryãms-swiftãtransformers çè®ç»æ¡æ¶ï¼é常éè¦é¢å¤å转æ¢èæ¬ï¼è½¬æ¢é误é¾å¯è§ï¼ä¸ç¼ºä¹æº¯æºä¿¡æ¯ã
为æ¤ï¼æä»¬æ¨åºÂ EasyDistill2.0 ï¼github.com/modelscope/â¦ ç¸æ¯ç¬¬ä¸ä»£âè¸é¦å·¥å ·å âçå®ä½ï¼EasyDistill2.0Â è¢«éæ°è®¾è®¡ä¸ºä¸åº§é 置驱å¨çæ°æ®ç产工åï¼ä¸ä»½Â YAML é ç½®å³å¯ä¸²èæ°æ®åæãæå¸çæãè´¨éè¯ä¼°ãè¿æ»¤æ¹å䏿°æ®é导åºï¼äº§åºå¯ç´æ¥æå ¥Â SFT ä¸Â DPO è®ç»çæ°æ®éã
æ ¸å¿å级ï¼ä»âæä¹è¸âå°âæä¹è§æ¨¡åç产è®ç»èµäº§â
第ä¸ä»£Â EasyDistill åççæ¯âæä¹è¸âï¼æä¾åºç¡è¸é¦ç®æ³ä¸è®ç»èæ¬ï¼ç¬¬äºä»£åççæ¯âæä¹è§æ¨¡åå°ææå¸æ¨¡åçè½å转å为è®ç»èµäº§âãå ·ä½ååä½ç°å¨å个维度ï¼
| 维度 | EasyDistill | EasyDistill2.0 |
|---|---|---|
| å®ä½ | è¸é¦å·¥å ·å | é 置驱å¨çæ°æ®ç产工å |
| æµç¨ç»ç» | èæ¬é©±å¨ï¼ææä¸ºä¸æ¬¡æ§å·¥ç¨ | YAMLÂ æµæ°´çº¿ï¼å¯å¤ç°ãå¯ç»è·ãå¯å®¡è®¡ |
| åºæ¯è¦ç | 以æä»¤è¸é¦ä¸ºä¸» | æä»¤ãCoTã夿¨¡æãAgentãAIGC å¾/è§é¢ãPE æ¹åçå¤ç§åºæ¯ |
| æ°æ®äº§åº | éæå¨è½¬æ¢æ ¼å¼ | è¾åºè®ç»å°±ç»ªçæ°æ®é + 溯æºå æ°æ® |
æ¦æ¬èè¨ï¼EasyDistill 2 æå 大è¸é¦åºæ¯æ¶æå°åä¸å¥å·¥ç¨èå¼ã
æ¡æ¶è®¾è®¡ï¼é ç½®å³æµæ°´çº¿ï¼æ°æ®å³èµäº§
ä¸å±æ¶æ
EasyDistill2.0 éç¨å端å±ãç®åå±ãæµæ°´çº¿å±çä¸å±æ¶æï¼
- å端å±ï¼Backendsï¼
æææå¸æ¨¡åè°ç¨ç»ä¸æ¶æå°Â ModelBackend æ½è±¡ï¼æ¯æä¸ç±»å端ï¼ä»»æÂ OpenAI å
¼å®¹ç«¯ç¹ï¼openaiï¼ãé¿éäºÂ PAI-Token æå¡ï¼pai_tokenï¼ãPAI-EAS èªé¨ç½²æ¨¡åï¼pai_easï¼ãCLI å¯å¨æ¶ä¼å
åå端å¥åº·æ£æ¥ï¼åæ®å¤±ææç«¯ç¹é
ç½®éè¯¯å¨æµæ°´çº¿æ§è¡åå³è¢«æ¦æªï¼é¿å
é¿ä»»å¡ä¸éå¤±è´¥é æÂ APIÂ è´¹ç¨æµªè´¹ã
- ç®åå±ï¼Operatorsï¼
çæãè¯ä¼°ãè¿æ»¤ãæ¹åã平衡ãå好è¯åçè½åå
¨é¨å®ç°ä¸ºååç®åï¼å
æ¬æä»¤æ©å
ï¼instruction_expansionï¼ãæä»¤å¹³è¡¡ï¼instruction_balanceï¼ãLLM-as-judge è¯ä¼°ãCoT é¿çæ¹åï¼cot_long2short / cot_short2longï¼ãRV/CDÂ è¯¾ç¨æ··åãå好对æé çãæ¯ä¸ªç®å忶以ç¬ç«Â job_type éåºï¼æ¯æåæ¥è°è¯ï¼æä¸æ¥åºéæ¶ï¼å¯ä»ä¸ä¸æ¥è½çç JSONLÂ ç´æ¥ç»è·ã
- æµæ°´çº¿å±ï¼Pipelinesï¼
ååç®åæåºæ¯ç»è£ 为端å°ç«¯æµæ°´çº¿ï¼æ¯ä¸ªé¶æ®µçä¸é´ç»æåºå为 JSONL æä»¶ï¼å¹¶éå¸¦æ ·æ¬çº§å æ°æ®ï¼æ´æ¡é¾è·¯å¯å®¡è®¡ãå¯å¤ç°ï¼ä»»ä½ä¸æ¡è®ç»æ ·æ¬é½è½å溯å°å ·ä½çæå¸æ¨¡åãè°ç¨è®°å½ä¸è¿æ»¤è·¯å¾ã
ç»ä¸Â CLIÂ å ¥å£ä¸ºï¼
easydistill --config <path_to_config.yaml>
ä¸ä»½é ç½®æè¿°å®æ´æ°æ®æµ
以é«çº§æç»´é¾è¸é¦ä¸ºä¾ï¼ä¸ä»½Â YAML å³å¯å®æ´æè¿°âçæÂ â è¯å â 混å â 建åºâåä¸ªé¶æ®µï¼
job_type: advanced_cot_distill
backend:
type: pai_token
model_id: kimi-k2.6
generation:
system_prompt: "You are a helpful assistant. Think step by step and provide clear reasoning."
temperature: 0.7
max_tokens: 2048
pipeline:
- stage: cot_distill
output_path: outputs/cot_stage1_generated.jsonl
- stage: cot_rvcd_score
output_path: outputs/cot_stage2_scored.jsonl
- stage: cot_mix_by_rv_cd
config:
cd_bins: [0, 3, 6, 10]
rv_target: matched
output_path: outputs/cot_stage3_mixed.jsonl
- stage: build_sft
dataset:
input_path: examples/seed_cot_problems.jsonl
output_path: outputs/cot_sft_pai_token.jsonl
é ç½®å³è¯´æäºç§åæ¥æºãå¤çé¶æ®µãæ¯ä¸ªé¶æ®µç产ç©ä½ç½®ä¸æç»æ°æ®éè·¯å¾ã
è®ç»å°±ç»ªçæ°æ®æ ¼å¼
æ°æ®ç产çæåä¸ç¯å¾å¾æ¶è大éå·¥ç¨æ¶é´ï¼æ ¼å¼ä¸å¹é
ãåæ®µç¼ºå¤±ãæ¥æºä¸æãEasyDistill 2Â çææÂ SFT è¾åºç»ä¸éç¨Â OpenAI/ShareGPT messagesÂ æ ¼å¼ï¼ä¸æ¯æ¡æ ·æ¬æºå¸¦æº¯æºå
æ°æ®ï¼
{
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "What is 2+2?"},
{"role": "assistant", "content": "4"}
],
"metadata": {
"source": "teacher_model",
"model": "qwen2.5-72b-instruct",
"request_id": "1",
"backend": "pai_token",
"usage": {"prompt_tokens": 31, "completion_tokens": 1, "total_tokens": 32}
}
}
metadata ä¸ç sourceãmodelãbackendãusageÂ åæ®µä½¿æ¯æ¡è®ç»æ ·æ¬å¯è¿½æº¯å°å
·ä½çæå¸æ¨¡åä¸å次 API è°ç¨ï¼æ°æ®å®¡è®¡ææ®å¯æ¥ï¼tokenÂ ææ¬å¯æ ¸ç®å°æ ·æ¬ç²åº¦ãè¯¥æ ¼å¼æ é转æ¢å³å¯å¨Â LLaMA-FactoryÂ ä¸æÂ sharegpt 注å使ç¨ï¼æç´æ¥ä¼ ç»Â ms-swiftã
å 大è¸é¦åºæ¯
EasyDistill 2 å°å ç§å¸¸è§è¸é¦éæ±æ¶æå°åä¸å¥æµæ°´çº¿èå¼ï¼
| åºæ¯ | æµæ°´çº¿ | 说æ |
|---|---|---|
| æä»¤è¸é¦ | instruct_distillãadvanced/balanced/augmented_instruct_distill | ä»ç§åæä»¤å°ç±»å«åè¡¡ãè£å¤çéåç SFTÂ æ°æ® |
| æç»´é¾è¸é¦ | cot_distillãadvanced_cot_distill | RV/CDÂ åææ è¯¾ç¨æ··åï¼ä½¿Â CoTÂ æ°æ®é¾åº¦ä¸å¦ç模åè½åå¹é |
| 夿¨¡æè¸é¦ | mm_instruct_distillãmm_cot_distill å advancedÂ çæ¬ | è§è§è¯è¨æä»¤ä¸å¯¹åºè§è§Â CoTÂ æ°æ®ç产 |
| Agent è¸é¦ | agent_distill | ä»Â persona ç§åå ¨èªå¨åæå¤è½®Â AgentÂ å·¥å ·è°ç¨è½¨è¿¹ |
| AIGC æçå¾/è§é¢è¸é¦ | t2i_distillãt2v_distill | ä»ç®çææ¬Â prompt å°å¸¦å¾/è§é¢ç夿¨¡æÂ SFTÂ æ°æ® |
| Prompt Enhancerï¼PEï¼æ¹åè¸é¦ | pe_rewrite_distill | ææå¸æ¨¡å Prompt å¢å¼ºè½åè¸é¦ç»å¦ç模å |
æä»¤è¸é¦ï¼ä»ç§åæä»¤å°åè¡¡æ°æ®é
åºç¡æµç¨Â instruct_distill 为ç§åæä»¤çææå¸åå¤å¹¶ç´æ¥æå»ºÂ SFTÂ æ°æ®ï¼å¨æ¤ä¹ä¸æä¾ä¸æ¡è¿é¶æµæ°´çº¿ï¼
-
advanced_instruct_distillæä»¤æ©å  â æå¸çæÂ â LLM è£å¤è¯ä¼°Â â 质éè¿æ»¤Â â SFT æå»ºï¼ä½åæ ·æ¬è¢«è¿æ»¤ã
-
balanced_instruct_distillé对 LLMÂ åææä»¤å¸¸è§çç±»å«æ¼ç§»é®é¢ï¼å¨çæåæä»»å¡ç±»å«èªå¨åç±»ä¸ééæ ·ï¼æç±»å«å叿§å¶å¨ç®æ åºé´å ã
-
augmented_instruct_distill对已æç§åå LLM 精ç¼ï¼ä¸ºæ¯æ¡æä»¤çæå¤æ¡åéåå¤ï¼è¯ä¼°åæ©ä¼å ¥åºã
æç»´é¾è¸é¦ï¼RV/CDÂ åææ è¯¾ç¨æ··å
æç»´é¾æ°æ®å¹¶éè¶é¿è¶å¥½ã坹尿¨¡åèè¨ï¼è¿è¶
å
¶è½åèå´çåé¿æ¨ç龿´æ¥è¿åªå£°ãadvanced_cot_distillÂ æµæ°´çº¿å¨çæÂ CoT 轨迹åï¼ç¨Â LLM è£å¤æ æ³¨ä¸¤ä¸ªææ ï¼æ¨çåä½åº¦ï¼RVï¼åº¦éæ¨çé¾ç详ç¥ç¨åº¦ï¼è®¤ç¥é¾åº¦ï¼CDï¼åº¦éç解该æ¨çæéçè½åæ°´å¹³ãéå cot_mix_by_rv_cd æÂ CD åç®±åè¯¾ç¨æ··åï¼rv_target: matched 使ç®åé®é¢é
ç®æ´æ¨çãå°é¾é®é¢é
è¯¦ç»æ¨çï¼è®©å¦ç模åè·å¾ä¸å
¶è½ååºé´éé
çè®ç»ä¿¡å·ãé
å¥Â cot_long2short / cot_short2long æ¹åç®åå¯å¯¹æ¨çé¾åå®ååç¼©ææ©å±ãåºäºè¿å¥æ¹æ³è®ç»ç DistilQwen-ThoughtY-32B å¨Â AIME2024 ä¸åå¾Â 90.0 åã
夿¨¡æè¸é¦ï¼è§è§è¯è¨æ°æ®ç产
mm_instruct_distill 为 (å¾å, æä»¤)Â æ ·æ¬å¯¹çææå¸åå¤ï¼mm_cot_distill è¿ä¸æ¥çæè§è§æç»´é¾ã两è
åè¾åºå¯ç´æ¥ç¨äºè§è§è¯è¨æ¨¡åè®ç»ç夿¨¡æÂ SFTÂ æ°æ®ï¼å¾å以 image_url å
容项åµå
¥Â messagesï¼æ¯ææ¬å°è·¯å¾ãHTTP URL ä¸Â base64 ä¸ç§å½¢æãè¿é¶æµæ°´çº¿Â advanced_mm_distill ä¸Â advanced_mm_cot_distillÂ å¨æ¤åºç¡ä¸å¢å è£å¤è¯ä¼°ä¸è´¨éè¿æ»¤ã
Agent è¸é¦ï¼ä»Â persona ç§åå°å¤è½®å·¥å ·è°ç¨è½¨è¿¹
è®ç»å·¥å
·è°ç¨æ¨¡åçæå¤§éç¢æ¯æ°æ®ï¼çå®Â Agent 轨迹æ£è½å¨ä¸å¡ç³»ç»ä¸ï¼è·åå°é¾ãæ æ³¨ææ¬é«ãagent_distillÂ æµæ°´çº¿éåå®å
¨åæè·¯çº¿ï¼èµ·ç¹åªéä¸è¡Â persona æè¿°ï¼
{"id": "persona_001", "background": "An Afrikaans music fan who wants to organize local events."}
ä»è¿ä¸è¡ç§åå¼å§ï¼å ä¸ªé¶æ®µä¾æ¬¡æ§è¡ï¼
-
agent_task_synthesisä»Â persona åæä»»å¡è®¾å®ãå¯ç¨å·¥å ·éã颿工使µä¸çº¦ææ¡ä»¶ã
-
agent_fuzzy_taskæç»æå任塿¹å为信æ¯ä¸å®æ´ç模ç³ç¨æ·è¯·æ±ï¼è®©å¦ç模åå¦ä¼å¨å¤è½®äº¤äºä¸ä¸»å¨è¿½é®ã
-
agent_tool_checkå¯¹ç §æ¨¡ç³ä»»å¡æ ¡éªå¹¶ä¿®æ£å·¥å ·å®ä¹ã
-
agent_trajectory以 LangGraph ReAct 循ç¯å±å¼å¤è½®è½¨è¿¹ï¼
SolveAgentãMockToolãMockUser ä¸ä¸ªè§è²ååå·¥ä½ï¼max_steps ä¸Âmax_tool_calls åéé颿§å¶ææ¬ã -
agent_rubricsLLM è£å¤é对å½åä»»å¡å¨æçæè¯åååï¼æ¨ªåæ¯è¾å¤æ¡è½¨è¿¹å¹¶éåºæä¼è§£ã
-
æ«æ®µäºéä¸
build_sft 导åºå¤è½®Âmessages SFTÂ æ°æ®ï¼æÂbuild_preference_datasetÂ é æÂ chosen/rejected å好对ä¾Â DPO è®ç»ã
è¿æ¡æµæ°´çº¿ä¸Â AgenticQwenÂ ç³»åæ¨¡åçæ°æ®ç产æµç¨åæºï¼å¼æºæ°æ®é AgenticQwen-Dataï¼80K æ¡ï¼éç¨çæ£æ¯ç¸åçä»»å¡ç»æä¸Â rubricÂ è´¨éæ æ³¨ã
AIGC æçå¾/è§é¢è¸é¦ï¼ä»ç®ç prompt å°å¤æ¨¡æè®ç»å¯¹
æçå¾ä¸æçè§é¢åºæ¯åå¨å
±åçè¾å
¥è½å·®ï¼ç¨æ·è¾å
¥âä¸åªå¨æçä¸ååå¡çç«âè¿ç±»ç®çæè¿°ï¼èæ©æ£æ¨¡å忥æä½³ææéè¦å
å«ä¸»ä½ãæè´¨ãå
å½±ãæå¾ã飿 ¼çç¨ å¯Â promptãEasyDistill 2 æè¿ç±»è¾å
¥æ¹é转å为 (ä¼åå prompt, çæå¾ç/è§é¢)Â å¤æ¨¡æè®ç»æ ·æ¬ã
æçå¾è¸é¦
advanced_t2i_distillÂ æµæ°´çº¿å
å«åä¸ªé¶æ®µï¼
-
prompt_optimizeLLM/VLM å°ç®ç prompt æ©å为ç产级æè¿°ã
-
t2i_generateè°ç¨Â WanxãQwen-Image æÂ PAI-Diffusion å端çæå¾çï¼
T2IBackend ç»ä¸å¤çåå®¶Â API å议差å¼ã -
t2i_evalVLM-as-judge ä»å¾æä¸è´æ§ãç¾å¦è´¨éãç»è丰å¯åº¦ãæ 伪影å个维度æåã
-
quality_filter + build_t2i_sft``æåæ°éå¼æÂ top-kÂ è¿æ»¤åè¾åºå¾åå åµç夿¨¡æÂ SFTÂ æ°æ®ã
æçè§é¢è¸é¦
advanced_t2v_distillÂ æµæ°´çº¿ï¼æ¯æçº¯Â T2V ä¸å¸¦é¦å¸§ç I2VÂ ä¸¤ç§æ¨¡å¼ï¼éµå¾ªç¸åçâä¼å â çæÂ â è¯ä¼°Â â 建åºâç»æï¼
-
prompt_optimizeå°ç®ç prompt æ©å为å å«é头è¿å¨ãæ¶é´èå¥ã主ä½å¨ä½ä¸åºæ¯ååçè§é¢çº§æè¿°ï¼I2V 模å¼ä¸é¢å¤å¯¹é¦å¸§å¾ååå 容çè§£ï¼ä¿è¯åç»è§é¢ä¸é¦å¸§è¯ä¹ä¸è´ã
-
t2v_generateè°ç¨Â Wanx è§é¢çææÂ PAI-Diffusion è§é¢å端çæè§é¢ï¼
T2VBackend ç»ä¸å¤ç EAS/PAI-Token è°ç¨å议差å¼ã -
t2v_evalå éè¿Â VBenchÂ å¿«éæ£æ¥ææ¾çæ¿ï¼å¦ç»é¢éæ¢ã穿模ï¼ï¼åæåºå®å¸§çæ½å¸§ç±Â VLM-as-judge è¯ä¼°ï¼å¯éå°éè¿Â Omni 类è§é¢ç解模ååæ´ä½ä¸è´æ§æ£æµã
-
quality_filter + build_t2v_sft``æåæ°éå¼æÂ top-kÂ è¿æ»¤åè¾åºè§é¢å åµç夿¨¡æÂ SFTÂ æ°æ®ã
æÂ VLM/VBench ä½ä¸ºè´¨æ£ç¯èçº³å ¥æµæ°´çº¿ï¼æå³çæ¯å¼ å¾çãæ¯æ®µè§é¢é½ç»è¿è¯ä¼°å¹¶ä¿çåæ°è®°å½ï¼è´¨éæ åå¯éè¿é 置精确è°èã
PE æ¹åè¸é¦ï¼æå¤è½®Â Prompt å¢å¼ºè½åè¸é¦ä¸ºä¸æ¥æ¹å
æçå¾/è§é¢ä¸å¡ç线ä¸é¾è·¯ä¸é常æä¸ä¸ªÂ prompt æ¹åç¯èã夿¥Â AgentÂ æ¹æ¡è´¨éæå¥½ï¼å
è§åãåæ¹åãæååæï¼ä½ä¸æ¬¡ä¸²è¡Â LLM è°ç¨çå»¶è¿é¾ä»¥æ»¡è¶³çº¿ä¸è¦æ±ãpe_rewrite_distill çæè·¯æ¯ï¼ç¦»çº¿é¶æ®µè®©æå¸Â AgentÂ å®æ´æ§è¡ä¸æ¥é¾ï¼ææç»ç»æè¸é¦ä¸ºå¦ç模åç忬¡è°ç¨è½åï¼åæ¶è·å¾å¤æ¥æ¹æ¡çè´¨éä¸åæ¥è°ç¨çå»¶è¿ã
å ³é®è®¾è®¡å æ¬ï¼
-
åºæ¯è·¯ç±
èªå¨è·¯ç±å°Â 10Â ä¸ªåºæ¯ä¹ä¸ï¼æ¯ä¸ªÂ
(åºæ¯, ä¸/è±) ç»åæç¬ç«æ¹åæç¤ºè¯æä»¶ã -
å ¬å ±âéå¾âæºå¶
å¿ å®æ§ãä¿¡æ¯å¯åº¦ãç»é¢æåæ©åãå¼å·éå®ãè¯è¨è§åãèªæ£ãè¾åºæ ¼å¼çè·¨åºæ¯ç¡¬çº¦æç»ä¸ç»´æ¤ã
-
ä¹ç»´åå¹¶è£å¤
æ¯æ¡Â
(åå§, æ¹å)Â æ ·æ¬å¯¹åªé䏿¬¡è£å¤è°ç¨å³å®æå ¨é¨ä¹é¡¹è¯ä¼°ï¼é»è®¤è¿æ»¤é¨æ§å·²å ç½®ã -
æåºæ¯ä¿æ¤çäºæ¬¡çé
keep_top_k /Âkeep_top_ratio æä¸é¡¹ååæååäºæ¬¡ç²¾éï¼é»è®¤éåºæ¯æ§è¡ä¸æ¯ä¸ªåºæ¯è³å°ä¿ç䏿¡ã -
ç§åæ©å¢
å¯éçÂ
seed_anchored_expansion ä»å°éç§å prompt æ©ååºååºæ¯å¤§æ¹æ°Â promptï¼æ©å¢è¡ç¼å®æ´è®°å½ã
弿ºæ¨¡å䏿°æ®é
ä¼´é EasyDistillÂ ç³»åæ¡æ¶ï¼PAI å¢éå·²å¨Â HuggingFaceï¼alibaba-paiï¼ä¸Â ModelScopeï¼PAIï¼å¼æºäºå®æ´ç模å䏿°æ®éç©éµã
| alibaba-paiï¼ huggingface.co/alibaba-pai PAIï¼ modelscope.cn/organizatio⦠|
|---|
模åå®¶æ
| AgenticQwen | å®ä½ | è§æ¨¡ | HuggingFace | ModelScope |
|---|---|---|---|---|
| AgenticQwen | AgentÂ å·¥å ·è°ç¨ï¼å¤è½®Â RL è®ç»ï¼ | 8Bã30B-A3Bï¼MoEï¼ | Collection | 主页 |
| DistilQwen2 / DistilQwen2.5 | æä»¤éµå¾ª | 0.5Bâ7B | ||
| DistilQwen2.5-R1 | DeepSeek-R1 è¸é¦æ¨ç | 7Bã14Bã32B | ||
| DistilQwen2.5-DS3-0324 | DeepSeek-V3-0324 è¸é¦å¿«æè | 3Bâ32B | ||
| DistilQwen-ThoughtX | OmniThought RV/CDÂ è¯¾ç¨æ··å | 7Bã32B | ||
| DistilQwen-ThoughtY | Qwen3 åºåº§èªéåºæè | 4Bã8Bã32B |
| Collectionï¼ huggingface.co/collectionsâ¦ ä¸»é¡µï¼ modelscope.cn/organizatio⦠|
|---|
代表æ§ç»æ
-
DistilQwen-ThoughtY-32B [1]ï¼ModelScope [2]ï¼å¨Â AIME2024 ä¸åå¾Â 90.0 åãMATH500 ä¸åå¾Â 95.2 åï¼å尺寸 DeepSeek-R1-Distill-Qwen-32B å¨Â AIME2024 ä¸ä¸ºÂ 74.7 åï¼RV/CDÂ è¯¾ç¨æ··åçæ°æ®æ¹æ³è®ºå¨åçåæ°éä¸å¸¦æ¥äºÂ 15 å以ä¸çå·®è·ï¼çè¿é [3]ï¼ã
-
DistilQwen2.5-7B-Instruct [4]ï¼ModelScope [5]ï¼å¨Â AlpacaEval 2.0 (LC) ä¸åå¾Â 34.86 åï¼è¶ è¿Â Qwen2.5-7B-Instruct ç 31.43 åï¼è¸é¦åçå¦ç模åè¶ è¿äºåå°ºå¯¸å®æ¹æä»¤æ¨¡åï¼çè¿é [6]ï¼ã
-
AgenticQwen-30B-A3B [7]ï¼ModelScope [8]ï¼æ¯æ¬¡ååä» æ¿æ´»Â 3BÂ åæ°ï¼å¨Â BFCL-V4ãTAU-2 ç Agent åºåä¸è¿½å¹³æè¶ è¶Â 8BÂ ç¨ å¯æ¨¡åï¼å·¥å ·è°ç¨è½å䏿¨çææ¬å¾ä»¥å ¼é¡¾ï¼çè¿é [9]ï¼ã
æ°æ®é
| æ°æ®é | è§æ¨¡ | ç±»å | HuggingFace | ModelScope |
|---|---|---|---|---|
| AgenticQwen-Data | 80K | Agent 任å¡ä¸å¤è½®è½¨è¿¹ï¼å«Â rubricÂ æ æ³¨ï¼ | HF [1] | MS[2] |
| DistilQwen_100K | 100K | æä»¤éµå¾ª | HF [3] | MS [4] |
| DistilQwen_1M | 1M | æä»¤éµå¾ª | HF [5] | MS [6] |
| OmniThought | 2M | CoT æ¨çï¼å¸¦Â RV/CDÂ æ æ³¨ï¼ | HF [7] | MS [8] |
| OmniThought-0528 | 365K | CoT æ¨çï¼DeepSeek-R1-0528 æå¸ï¼ | HF [9] | MS [10] |
OmniThought ç 200Â ä¸æ¡æ¨çè½¨è¿¹æ¯æ¡é½å¸¦æÂ RV/CDÂ åæ æ³¨ï¼å¯ç´æ¥ç¨äºå¤ç°è¯¾ç¨æ··åè®ç»ï¼æ éèªè¡ææ ã
PAI 平å°ç«¯å°ç«¯å®è·µï¼ä»ç§åæä»¤å°å¦ç模åé¨ç½²
ä¸è¿°æ¡æ¶è½åå¨é¿éäºÂ PAI 平å°ä¸å¯ä»¥é¶é¢å¤å¼åå°è½å°ã以ä¸ä»¥âæä»¤è¸é¦Â + å¦ç模å SFT è®ç»â为ä¾ï¼æ¼ç¤ºä»ç¯å¢åå¤å°æ¨¡åé¨ç½²ç宿´è·¯å¾ãæ°æ®çäº§å ¨ç¨åªé CPU å®ä¾ï¼æææ¨¡åæ¨çéè¿Â PAI-Token APIÂ å®æï¼GPUÂ èµæºä» ç¨äºæåçè®ç»æ¥éª¤ã
ç¬¬ä¸æ¥ï¼å建 DSW å®ä¾å¹¶é ç½®ç¯å¢
1.1 å建 DSW CPU å®ä¾
ç»å½Â PAI æ§å¶å°ï¼éæ©ç®æ å°åä¸å·¥ä½ç©ºé´ï¼è¿å ¥Â 模åå¼åä¸è®ç»Â > 交äºå¼å»ºæ¨¡ï¼DSWï¼ï¼åå»Â æ°å»ºå®ä¾ãå ³é®é ç½®å¦ä¸ï¼
| PAIÂ æ§å¶å°ï¼ pai.console.aliyun.com/ |
|---|
| åæ° | æ¨èé ç½® | 说æ |
|---|---|---|
| å®ä¾åç§° | easydistill-data | èªå®ä¹åç§°ï¼ä¾¿äºè¯å« |
| èµæºç±»å | å ¬å ±èµæºï¼æéä»è´¹ï¼ | æ éé¢è´é é¢ |
| èµæºè§æ ¼ | CPU å®ä¾ï¼å¦Â ecs.g6.xlargeï¼4 vCPU / 16 GiBï¼ | æ°æ®ç产åªé CPU |
| éåé ç½® | 宿¹éåï¼æç´¢Â modelscopeÂ éæ©ææ°çæ¬ | å ¼å®¹æ§å¥½ï¼é¢è£ 常ç¨åº |
| åå¨æè½½ | æè½½Â OSSï¼æ¨èï¼æÂ NAS | æä¹ ååå¨è®ç»æ°æ®ä¸äº§åº |
å®ä¾ç¶æå为 è¿è¡ä¸Â å³å建æåã
1.2 å¼é PAI-Token æå¡
PAI-Token æ´é²Â OpenAIÂ å ¼å®¹ç Chat Completions æ¥å£ï¼è¦ç QwenãDeepSeekãKimiãGLM çä¸»æµæ¨¡åç³»åãå¨Â PAI æ§å¶å°éæ©Â å¿«éå¼å§Â > Token æå¡ï¼åå»Â ä¸é®å¼éï¼å¼é忥çæå建 API Keyãè¥Â DSW å®ä¾å·²é 置 PAI é»è®¤è§è²ï¼RAM è§è²ï¼ï¼ç³»ç»ä¼èªå¨è·å Tokenã
1.3 å®è£  EasyDistill2.0
è¿å ¥Â DSW å¼åç¯å¢ç Terminalï¼æ§è¡ï¼
cd /mnt/data
git clone https://github.com/modelscope/easydistill.git
cd easydistill
pip install -e .
è¥Â DSW æªé ç½®é»è®¤è§è²ï¼éæå¨è®¾ç½®ï¼
export PAI_TOKEN_API_KEY=your_pai_token_key
export PAI_TOKEN_BASE_URL=https://cn-beijing.pai-token.aliyuncs.com/v1
CLI å¯å¨æ¶ä¼å 对å端åå¥åº·æ£æ¥ï¼é¿å é¿ä»»å¡ä¸éå¤±è´¥é æÂ APIÂ è´¹ç¨æµªè´¹ã
ç¬¬äºæ¥ï¼åå¤ç§åæä»¤
EasyDistill2.0 æ¥å JSONLÂ æ ¼å¼ç§åæä»¶ï¼æ¯è¡ä¸æ¡Â JSONÂ å¯¹è±¡ï¼æå°åªé instructionÂ åæ®µï¼
{"id": "1", "instruction": "è§£éä»ä¹æ¯ç¥è¯è¸é¦ï¼ç¨ä¸æ®µè¯è¯´æã"}
{"id": "2", "instruction": "åä¸ä¸ª Python 彿°ï¼ä¸ä½¿ç¨åçæä½å转å符串ã"}
{"id": "3", "instruction": "çç£å¾®è°å人类åé¦å¼ºåå¦ä¹ ç主è¦åºå«æ¯ä»ä¹ï¼"}
ä¿å为 /mnt/data/easydistill/examples/seed_my_task.jsonlã50â200 æ¡è¦çå
¸åä»»å¡ç±»åä¸ä¸åé¾åº¦å±æ¬¡çç§åæ¯åçèµ·æ¥è§æ¨¡ï¼ç§åè´¨éä¼å
äºæ°éï¼å 为æ©å±é¶æ®µä¼æ¾å¤§åå¸åæã
ç¬¬ä¸æ¥ï¼è¿è¡è¸é¦æµæ°´çº¿
3.1 é ç½®æä»¶
å建 /mnt/data/easydistill/configs/my_advanced_instruct.yamlï¼
job_type: advanced_instruct_distill
backend:
type: pai_token
api_key: ${PAI_TOKEN_API_KEY}
base_url: ${PAI_TOKEN_BASE_URL}
model_id: qwen3.6-plus # æå¸æ¨¡åï¼æ´æ¢åªéæ¹è¿ä¸è¡
generation:
system_prompt: "You are a helpful assistant. Provide concise and accurate answers."
temperature: 0.7
max_tokens: 2048
eval:
metrics: [informativeness, helpfulness, generalization, correctness]
temperature: 0.0
max_workers: 4
pipeline:
- stage: instruction_expansion
config: {num_output_samples: 3, max_workers: 3}
output_path: outputs/my_stage1_expanded.jsonl
- stage: instruction_refinement
config: {max_workers: 3}
output_path: outputs/my_stage2_refined.jsonl
- stage: generate
config: {max_workers: 3}
output_path: outputs/my_stage3_generated.jsonl
- stage: instruct_eval
config: {max_workers: 4}
output_path: outputs/my_stage4_evaluated.jsonl
- stage: quality_filter
config:
min_scores: {informativeness: 6, helpfulness: 6, generalization: 4, correctness: true}
keep_top_ratio: 0.7
output_path: outputs/my_stage5_filtered.jsonl
- stage: build_sft
config: {}
dataset:
input_path: examples/seed_my_task.jsonl
output_path: outputs/my_sft_dataset.jsonl
skip_empty: true
min_length: 10
max_length: 8192
å ³é®åæ°è¯´æï¼
-
backend.model_idæå¸æ¨¡åã
qwen3.6-plus å¨è´¨é䏿æ¬é´å¹³è¡¡ï¼æ´å¼ºæå¸å¯æ¢Âqwen3.7-maxï¼æä½ææ¬å¯æ¢Âqwen3.5-plusã -
quality_filter.min_scoresinformativeness åÂhelpfulness ä¸ä½äºÂ 6 åï¼æ»¡å 10ï¼ï¼correctnessÂ å¿ é¡»ä¸ºÂtrueã -
quality_filter.keep_top_ratioéè¿é¨æ§çæ ·æ¬ä¸åªä¿çæåå 70%ï¼åäºæ¬¡ç²¾éã
-
max_workerså¹¶å API è°ç¨æ°ãPAI-Token æå¹¶åéå¶ï¼èµ·æ¥å»ºè®®Â 3â4ï¼éå°Â 429 é误æ¶è°ä½ã
3.2 æ§è¡è¸é¦
cd /mnt/data/easydistill
easydistill --config configs/my_advanced_instruct.yaml
以 50 æ¡ç§å为ä¾ï¼æ»Â API è°ç¨é约 500 次ï¼çº¦Â 15â30 åéå®æå ¨é¨æ°æ®å¤çã
ç¬¬åæ¥ï¼ä¸Â PAI-Model Gallery 模ååºè®ç»æ ¼å¼å¯¹é½
PAI-Model Gallery 模ååºå°è£ äºÂ PAI-DLCï¼åå¸å¼è®ç»ï¼å PAI-EASï¼å¨çº¿æå¡ï¼ï¼åºå±ä½¿ç¨Â transformers è®ç»æ¡æ¶ã
4.1Â æ ¼å¼è½¬æ¢
EasyDistill2.0 å ç½®å·¥å ·å½æ°ï¼ä¸è¡å½ä»¤å®æè½¬æ¢ï¼
python convert_to_alpaca.py outputs/my_sft_dataset.jsonl outputs/my_sft_alpaca.json
转æ¢åç JSON æä»¶æ ¼å¼å¦ä¸ï¼
[
{
"instruction": "You are a helpful assistant.\nè§£éä»ä¹æ¯ç¥è¯è¸é¦ï¼ç¨ä¸æ®µè¯è¯´æã",
"output": "ç¥è¯è¸é¦æ¯ä¸ç§æ¨¡ååç¼©ææ¯..."
}
]
4.2 ä¸ä¼ è®ç»æ°æ®å°Â OSS
PAI 模ååºè®ç»æ°æ®ééè¿Â OSS ä¸ä¼ ãè¥æªå¼é OSSï¼è®¿é®Â OSS æ§å¶å°Â å建 Bucketï¼å°åä¸Â PAI ä¸è´ï¼ãä¸ä¼ æ¹å¼ï¼
-
DSW 已æè½½Â OSSï¼ç´æ¥å¤å¶å°æè½½è·¯å¾ã
-
æªæè½½ï¼éè¿Â OSS æ§å¶å°æå¨ä¸ä¼ ï¼æä½¿ç¨Â
ossutilï¼
ossutil cp /mnt/data/easydistill/outputs/my_sft_alpaca.json oss://your-bucket/pai_data/
| OSSÂ æ§å¶å°ï¼ oss.console.aliyun.com/ |
|---|
ç¬¬äºæ¥ï¼å¨Â PAI-Model Gallery 模ååºåèµ·å¦ç模åè®ç»
5.1Â éæ©åºç¡æ¨¡å
ç»å½Â PAI æ§å¶å°ï¼éæ©Â å¿«éå¼å§Â > Model Galleryï¼æç´¢å¹¶éæ©å¦ç模åï¼å¦Â Qwen3-0.6BãQwen3-1.7BãQwen3-4B çï¼ã
| PAIÂ æ§å¶å°ï¼ pai.console.aliyun.com/ |
|---|
5.2 é ç½®è®ç»ä»»å¡
卿¨¡å详æ 页åå»Â è®ç»ï¼å ³é®åæ°å¦ä¸ï¼
| åæ°ç±»å | åæ° | æ¨èå¼ | éè¿è¾å ¥è¾åºå¯¹å¾®è°æ¨¡ååæ° |
|---|---|---|---|
| è®ç»æ¹å¼ | è®ç»æ¹å¼ | SFT çç£å¾®è° | 髿微è°ï¼èçæ¾åï¼ä¹æ¯æå ¨å/QLoRA |
| è®ç»æ¹å¼ | å¾®è°æ¹æ³ | LoRA | åå»âéæ©Â OSS æä»¶æç®å½â导èªå°æä»¶ |
| æ°æ®é | è®ç»æ°æ®é | OSS ä¸ç my_sft_alpaca.jsonl | è®ç»è¿ç¨ä¸è¯ä¼°æ³åè½å |
| æ°æ®é | éªè¯æ°æ®é | OSS ä¸çéªè¯éï¼å¯éï¼ | å卿¨¡åä¸Â TensorBoard æ¥å¿ |
| è¾åº | 模åè¾åºè·¯å¾ | oss://your-bucket/output/ | æ§å¶å°å·²çéæ»¡è¶³æ¾åè¦æ±çè§æ ¼ |
| èµæº | èµæºç±»å | å ¬å ±èµæºï¼æéä»è´¹ï¼ | LoRAÂ å ¸åå¦ä¹ ç |
| è¶ åæ° | learning_rate | 0.0005 | è¸é¦æ°æ®é常 3â4Â è½®æ¶æ |
| è¶ åæ° | num_train_epochs | 4 | å塿¹æ¬¡å¤§å° |
| è¶ åæ° | per_device_train_batch_size | 8 | å«é¿å夿¶éå½å¢å¤§ |
| è¶ åæ° | seq_length | 512 æÂ 2048 | 7B 模åé常å¤ç¨ï¼å¤æä»»å¡å¯å¢è³Â 16â32 |
| è¶ åæ° | lora_rank | 8ï¼é»è®¤ï¼ | éè¿è¾å ¥è¾åºå¯¹å¾®è°æ¨¡ååæ° |
é ç½®å®æååå»Â è®ç»Â > 确å®ï¼ä»»å¡å为 è¿è¡ä¸Â æ¶å¼å§å¾®è°ã
5.3 æ¥çè®ç»è¿ç¨
å¨è®ç»ä»»å¡è¯¦æ 页æ¥çæ¥å¿ä¸ææ æ²çº¿ï¼
| æ²çº¿è¶å¿ | 夿 | è°æ´å»ºè®® |
|---|---|---|
| train_loss å eval_loss åå¨ä¸é | æ¬ æå | å¢å  num_train_epochs ææé«Â lora_rank |
| train_loss ä¸éä½Â eval_loss ä¸å | è¿æå | åå°Â num_train_epochs æéä½Â lora_rank |
| train_loss å eval_loss åè¶äºå¹³ç¨³ | è¯å¥½æå | å¯è¿å ¥é¨ç½²é¶æ®µ |
5.4 é¨ç½²å¾®è°åçæ¨¡å
-
å¨è®ç»ä»»å¡è¯¦æ 页åå»Â é¨ç½²ï¼æé®ä¸å¯ç¹å»æ¶çå¾ çº¦Â 1 åé让模åå®ææ³¨åï¼ã
-
鿩䏿¨¡ååæ°éå¹é çå®ä¾è§æ ¼ï¼0.6B 模å约é 5GB æ¾åï¼ã
-
ä¿æé»è®¤åæ°ï¼åå»Â é¨ç½²Â > 确å®ã约 5 åéåç¶æå为 è¿è¡ä¸ã
-
卿å¡è¯¦æ 页åå»Â æ¥çè°ç¨ä¿¡æ¯ï¼è·åå ¬ç½è°ç¨å°åå Tokenã
é¨ç½²åæ¯æÂ OpenAIÂ å ¼å®¹æ¥å£è°ç¨ï¼
from openai import OpenAI
client = OpenAI(
api_key="your_eas_token",
base_url="è°ç¨å°å/v1",
)
resp = client.chat.completions.create(
model="Qwen3-0.6B",
messages=[{"role": "user", "content": "è§£éä»ä¹æ¯ç¥è¯è¸é¦"}],
max_tokens=512,
temperature=0,
)
print(resp.choices[0].message.content)
ç»è¯
ä»Â EasyDistill å°Â EasyDistill2.0ï¼ååçä¸åªæ¯åè½æ°éã第ä¸ä»£åçâæä¹è¸âï¼ç¬¬äºä»£åçâæä¹è§æ¨¡åå°ææå¸æ¨¡åçè½å转å为è®ç»èµäº§âï¼é 置驱å¨çæµæ°´çº¿è®©æ°æ®ç产å¯å¤ç°ï¼å端æ å ³çæ¨¡åæ¥å ¥è®©æå¸å¯æ¿æ¢ï¼è®ç»å°±ç»ªçæ°æ®æ ¼å¼æ¶é¤äºæ¥å ¥è®ç»æ¡æ¶çè½¬æ¢ææ¬ï¼å 大è¸é¦åºæ¯æ¶æå°åä¸å¥å·¥ç¨èå¼ä¹ä¸ã
å¨é¿éäºÂ PAI 平å°ä¸ï¼è¿å¥èå¼çå·¥ç¨é¨æ§è¢«è¿ä¸æ¥éä½å°âä¸ä»½Â YAML é 置 + ä¸ä»½ç§åæä»¶âï¼DSW CPU å®ä¾åç¼æãPAI-Token åæå¸æ¨çãPAI-Model Gallery åå¦çè®ç»åé¨ç½²ï¼ä»ç§åå°å¯é¨ç½²çå¦ç模åå½¢æå®æ´éç¯ãå ¶æææ§å·²ç±å¼æºææéªè¯ï¼DistilQwen ä¸Â AgenticQwen 两个模åå®¶æãç´¯è®¡è¶ è¿Â 350Â ä¸æ¡ç弿ºæ°æ®éï¼å产èªåä¸å¥æ°æ®çäº§æ¹æ³è®ºãåç»æä»¬å°å´ç»æ´å¤è¸é¦åºæ¯ä¸æ´å¼ºçæå¸æ¨¡åæç»è¿ä»£æ¡æ¶ä¸æ¨¡åå®¶æï¼å¸®å©æ´å¤å¼åè ä¸ä¼ä¸ä½ææ¬å°æå»ºå±äºèªå·±çå°æ¨¡åã
åèå·¥ä½
PAI å¢é模åè¸é¦ç¸å ³è®ºæï¼
-
Yuanjie Lyu, Chengyu Wang, Lei Shen, Jun Huang, Tong Xu. Mock Worlds, Real Skills: Building Small Agentic Language Models with Synthetic Tasks, Simulated Environments, and Rubric-Based Rewards. ACL 2026
-
Yuanjie Lyu, Chengyu Wang, Haonan Zheng, Yuanhao Yue, Junbing Yan, Ming Wang, Jun Huang. AgenticQwen: Training Small Agentic Language Models with Dual Data Flywheels for Industrial-Scale Tool Use. ACL 2026
-
Wenrui Cai, Chengyu Wang, Junbing Yan, Jun Huang, Xiangzhong Fang. Reasoning with OmniThought: A Large CoT Dataset with Verbosity and Cognitive Difficulty Annotations. ACL 2026
-
Lei Shen, Chengyu Wang, Yuanjie Lyu, Yuanhao Yue, Jun Huang, Zhongmin Cai. Self-Evolutionary Reinforced Knowledge Distillation for Multi-Modal Tool-Use Agents. KDD 2026
-
Yuanjie Lyu, Chengyu Wang, Jun Huang, Tong Xu. Student-Centered Distillation Narrows the Agentic Gap Between Small and Large LLMs. ICML 2026
-
Chengyu Wang, Junbing Yan, Wenrui Cai, Yuanhao Yue, Jun Huang. EasyDistill: A Comprehensive Toolkit for Effective Knowledge Distillation of Large Language Models. EMNLP 2025
-
Wenrui Cai, Chengyu Wang, Junbing Yan, Jun Huang, Xiangzhong Fang. Thinking with DistilQwen: A Tale of Four Distilled Reasoning and Reward Model Series. EMNLP 2025
-
Wenrui Cai, Chengyu Wang, Junbing Yan, Jun Huang, Xiangzhong Fang. Enhancing Reasoning Abilities of Small LLMs with Cognitive Alignment. EMNLP 2025
-
Chengyu Wang, Junbing Yan, Yuanhao Yue, Jun Huang. DistilQwen2.5: Industrial Practices of Training Distilled Open Lightweight Language Models. ACL 2025
-
Yuanhao Yue, Chengyu Wang, Jun Huang, Peng Wang. Building a Family of Data Augmentation Models for Low-cost LLM Fine-tuning on the Cloud. COLING 2025
-
Yuanhao Yue, Chengyu Wang, Jun Huang, Peng Wang. Distilling Instruction-following Abilities of Large Language Models with Task-aware Curriculum Planning. EMNLP
Aitishiku.com