
LLMã®ã«ã¹ã¿ãã€ãºææ³
Slalomã§ã¯å€§èŠæš¡èšèªã¢ãã«(Large Language Model: LLM)ã®äŒæ¥æŽ»çšãæ¯æŽããŠããŸãããã®äžã§ãLLMã®ã«ã¹ã¿ãã€ãºãè©äŸ¡ãå¿çšäºäŸã«ã€ããŠç€Ÿå ã§ãµãŒãã€ãè¡ãæ©äŒãããããã®å 容ã瀟å€ã«ãå ¬éããããšãã話ã«ãªããŸãããæ¬èšäºã§ã¯ãŸãåãã«LLMã®ã«ã¹ã¿ãã€ãºææ³ã«ã€ããŠç޹ä»ããŸãã
ã«ã¹ã¿ãã€ãºã¯ãªãå¿ èŠïŒ
å€§èŠæš¡èšèªã¢ãã« (LLM) ã¯ãå€ãã®ã¿ã¹ã¯ã§é©ç°çãªèœåã瀺ããŠããããã®æ±çšæ§ã®é«ãã«ã¯ç®ãèŠåŒµããã®ããããŸããããããªãããLLMãå®éã®ã·ã¹ãã ããµãŒãã¹ã«çµã¿èŸŒãããšãããšãããŸããŸãªå£ã«çŽé¢ããŸããçŸå®äžçã®ããžãã¹ã·ãŒã³ã§ã¯ãå°éçšèªãé£ã³äº€ããç¬ç¹ã®æ¥çç¿æ £ã«åŸãå¿ èŠããããããäºååŠç¿ãããæ¢åã®LLMã ãã§ã¯ãã®ãããªç¶æ³ãèŠæ±ã«å¿ããããªãå ŽåããããŸããLLMã®ã«ã¹ã¿ãã€ãºã¯ããããã®åé¡ã®è§£æ±ºã«åœ¹ç«ã¡ãŸããã«ã¹ã¿ãã€ãºãããLLMã¯ãç¹å®ã®æ¥çãçµç¹çãªæèå ã§ãããå¹ççãã€æ£ç¢ºãªããã¹ãçæãšçè§£ãå¯èœã«ããããžãã¹ããŒãºã«æè»ã«å¯Ÿå¿ããææ®µãæäŸããŸãããªãææžãæ€çŽ¢ããããã§ããã¹ãçæãè¡ãRetrieval-Augmented Generation (RAG) ã«ãã£ãŠãåæ§ã®èª²é¡ã解決ã§ããå¯èœæ§ããããŸãããæ¬èšäºã§ã¯ã¢ãã«èªäœã«è¿ã話ãäžå¿ã«æ±ããRAGã®ãã¯ããã¯ã«é¢ãã話é¡ã¯æ±ããŸããã
ã«ã¹ã¿ãã€ãºææ³ã®å€§å¥
ãŸãåãã«ãLLMã®ã«ã¹ã¿ãã€ãºææ³ã®å€§å¥ã玹ä»ããŸãããã®å€§å¥ã¯NVIDIAã®Techblogèšäºã§ããMastering LLM Techniques: Customizationãåèã«ããŠããŸãã

ããã³ãããšã³ãžãã¢ãªã³ã°
ããã³ãããšã³ãžãã¢ãªã³ã°ã¯ãLLMãé©åãªåºåãè¡ãããã®ããã³ãããäœæããããã»ã¹ãæããŸããããã³ããã¯ãæ°èªã®éšåçãªæãå®å šãªæç« ãåçŽãªãã®ãè€éãªãã®ãŸã§æ§ã èããããŸããããã³ãããšã³ãžãã¢ãªã³ã°ã®ç®æšã¯ãLLMã®ãã©ã¡ãŒã¿ãŒãäœããã®åœ¢ã§å€æŽããããšãªããLLMãæ±ããããŠããããšãçè§£ããããããã«æç¢ºã§ç°¡æœã§å¹æçãªããã³ãããäœæããããšã§ããããã³ãããšã³ãžãã¢ãªã³ã°ã¯ãããŒã¿ã®åŠçéãå°ãªããèšç®ã³ã¹ããå°ããã§ãã
ããã³ããåŠç¿
ããã³ããåŠç¿ã¯ãä»®æ³çãªããã³ããã«å¯Ÿããåã蟌ã¿ãåŠç¿ããããã©ã¡ãŒã¿å¹çã®è¯ãææ³ã§ããããã«ãããå šãã©ã¡ãŒã¿ã®èª¿æŽãå¿ èŠãšããã«ãäžã€ã®äºåã«èšç·ŽãããLLMãè€æ°ã®äžæµã¿ã¹ã¯ã«äœ¿çšããããšãå¯èœãšãªããŸãããŸããæ°ããªåŠç¿ã®ããã«éå»ã®åŠç¿çµæãå¿åŽããŠããŸãç Žæ» çå¿åŽãšåŒã°ããåé¡ãåé¿ããŸãããã®ããã»ã¹ã¯ãããã³ãããšã³ãžãã¢ãªã³ã°ãããå€ãã®ããŒã¿ãšèšç®ãå¿ èŠãšããŸãããããè¯ã粟床ãæäŸããŸãã
Parameter-efficient fine-tuning (PEFT)
PEFTã¯ãå ã®LLMã«å¯ŸããŠéžæçã«ãã©ã¡ãŒã¿ãŒãã¬ã€ã€ãŒã远å ããæŽæ°ãè¡ãææ³ã§ããPEFTã䜿çšãããšãã¢ãã«ã®ãã©ã¡ãŒã¿ãŒãç¹å®ã®ãŠãŒã¹ã±ãŒã¹ã®ããã«èšç·Žã§ããŸããããã«ãããLLMã¯èšç·Žãããã¿ã¹ã¯ã«å¯Ÿããé«ã粟床ãéæããããšãå¯èœãšãªããŸãã
ãã¡ã€ã³ãã¥ãŒãã³ã°
ãã¡ã€ã³ãã¥ãŒãã³ã°ã¯ãäºåã«èšç·ŽãããLLMã®ãã©ã¡ãŒã¿ãåºå®ããåè¿°ã®3ã€ã®ã«ã¹ã¿ãã€ãºææ³ãšã¯ç°ãªãããã©ã¡ãŒã¿èªäœã®æŽæ°ãè¡ãææ³ã§ããããã¯ããã¡ã€ã³ãã¥ãŒãã³ã°ãä»ã®ææ³ãšæ¯èŒããŠå€ãã®èšç·ŽããŒã¿ãšèšç®ãå¿ èŠãšããããšãæå³ããŸããããããç¹å®ã®ãŠãŒã¹ã±ãŒã¹ã«å¯ŸããŠé«ã粟床ãå®çŸããå¯èœæ§ããããŸãã
ã«ã¹ã¿ãã€ãºææ³ã®è©³çް
次ã«ãã«ã¹ã¿ãã€ãºææ³ãåå¥ã«ç޹ä»ããŸãã
ããã³ãããšã³ãžãã¢ãªã³ã°
Few-shot prompting: ããã³ããã®å éšã§ãå ¥åãšåºåã®ãã¢ãããã€ãäŸç€ºããããšã§ãåºåã®ãã©ãŒããããåºåå å®¹ãææã®ãã®ã«è¿ã¥ããææ³ã®ããšã§ãã
ããã³ããäŸïŒ
å
¥å1:æ°å¹Žã®ãã¿ããã§å€§åãåŒããŠå¬ããã£ãã
åºå1:ããžãã£ã
å
¥å2:颚éªãåŒããŠéåäŒã«åºããæ²ããæããããã
åºå2:åºåïŒãã¬ãã£ã
Chain-of-thought (CoT) æšè«: CoTæšè«ã¯ãäžéçãªæšè«ã¹ããããéããŠãè€éãªæšè«ãå¯èœã«ããææ³ã§ãããããfew-shot promptingãšçµã¿åãããããšã§ãæšè«ãå¿ èŠãªã¿ã¹ã¯ã«å¯ŸããŠããè¯ãçµæãåŸãããšãã§ããŸãã
ããã³ããäŸïŒ
å
¥å1:ãªã³ãŽã3åãããŸãã12åãªã³ãŽã®å
¥ã£ã段ããŒã«ç®±ã2箱買ããŸããããªã³ãŽã¯åèšäœåïŒ
åºå1:ïŒïŒåãªã³ãŽã®å
¥ã£ã段ããŒã«ç®±ã2箱買ããšãæ°ãã«12*2=24åã®ãªã³ãŽãå¢ããŸãã
ããšããšãªã³ãŽã¯ïŒåãã£ãã®ã§çãã¯3+24=27ã§ãã
å
¥å2:æ¿ã3åãããŸãã12åæ¿ã®å
¥ã£ã段ããŒã«ç®±ã3箱買ããŸãããæ¿ã¯åèšäœåïŒ
åºå2:åºåïŒ12åæ¿ã®å ¥ã£ã段ããŒã«ç®±ã3箱買ããšãæ°ãã«12*3=36åã®æ¿ãå¢ããŸããããšããšæ¿ã¯3åãã£ãã®ã§ãåèšã§3+36=39åã®æ¿ããããŸãã
ãã®ä»ã®ããã³ãããšã³ãžãã¢ãªã³ã°ã®ææ³ã«èå³ãããæ¹ã¯ãã¡ãããåç §ãã ããã
ããã³ããåŠç¿
Prompt tuning: total_virtual_tokens åã®ããŒã¯ã³ãšåããŒã¯ã³hidden_size次å ã®åã蟌ã¿ãæã€ä»®æ³çãªããã³ããã total_virtual_tokens * hidden_sizeã®2次å åã蟌ã¿è¡åã§åæåããŸãããããŠåã¿ã¹ã¯ã«ãããŠããã®åã蟌ã¿è¡åã®åŠç¿ãåå¥ã«è¡ãææ³ã§ãã
è£è¶³1ïŒ ããã§ã¯âPrompt tuningâãææ³ã®äžã€ãšããæèã§ç޹ä»ããŠããŸãããããã³ããã®ãã©ã¡ãŒã¿ãåçã«åŠç¿ããææ³ã®ã¯ã©ã¹ãæå³ããåºç¯ãªæå³ã§âPrompt tuningâã䜿ãããã±ãŒã¹ããããŸãã
P-tuning: ä»®æ³ããã³ããã®åã蟌ã¿ãprompt_encoder ãšåŒã°ããå€æåš (LSTMãMLPãªã©ã掻çšãã) ãéããŠäºæž¬ããææ³ã§ããPrompt tuningãšåæ§ã«LLMã®ãã©ã¡ãŒã¿ã¯åçµããŸãã
è£è¶³2ïŒPrompt tuningãšP-tuningã®ææ³ã¯ãPEFTã®ææ³ã®äžã€ãšããŠãèããããŸããããã§ã¯ä»®æ³çãªããã³ããã®åã蟌ã¿ã®åŠç¿ãè¡ãããã³ããåŠç¿ã®ææ³ã¯ãåŠç¿å¯Ÿè±¡ãšãªããã©ã¡ãŒã¿ãPEFTã®äžã§ãæ¯èŒçå°ãªããŠæžãããšã匷調ãããããåé¢ããŠç޹ä»ããŠããŸãã
Parameter efficient fine-tuning (PEFT)
Prefix-tuning: Prefix Tuningã¯ãTransformerã®åå±€ã®å é ã«è¿œå ãã©ã¡ãŒã¿ã远å ããŠåŠç¿ãè¡ãææ³ã§ããã¿ã¹ã¯ããšã«ãã®è¿œå ãã©ã¡ãŒã¿ãçšæããäžã€ã®äºååŠç¿æžã¿ã¢ãã«ã«å¯ŸããŠè¿œå ãã©ã¡ãŒã¿ãå ¥ãæ¿ããããšã§ãç°ãªãã¿ã¹ã¯ã«äžã€ã®äºååŠç¿æžã¿ã¢ãã«ã§å¯Ÿå¿ããããšãã§ããŸããããã³ããåŠç¿ã®ææ³ã«æ¯ã¹ããšãä¿®æ£ãããã©ã¡ãŒã¿ã®æ°ãå¢ããåã粟床ãè¯ããªããŸãã
Adapters: Adaptersã¯ãLLMã®å éšã®å±€ã«æ°ããªå±€ã远å ããŠåŠç¿ãè¡ãææ³ã§ããåAdapterã®ãããã¯ã®æåã®å šçµåå±€ã¯ãå ¥åãäœæ¬¡å ã®è¡šçŸã«èœãšã蟌ã¿ã2çªç®ã®å šçµåå±€ã¯å ¥åãå ¥åæ¬¡å ã«æ»ããŸãããã®ãããªããã«ããã¯æ§é ã«ãã£ãŠãé¢é£ããæ å ±ãåŠç¿ããããã«å¿ èŠãªãã©ã¡ãŒã¿ã®æ°ãæžããããšãã§ããŸãã
LoRA: Low-Rank Adaptation of Large Language Models (LoRA) ã¯ãLLMã®å éšã®å±€ã«èšç·Žå¯èœãªã©ã³ã¯åè§£è¡åãæ³šå ¥ããææ³ã§ããAdaptersãšç°ãªããåŠç¿ãããéã¿ãæšè«äžã«ã¡ã€ã³ã®éã¿ãšäžŠåçã«çµ±ååŠçã§ããããã远å ã§æšè«ã®é å»¶ãçºçããŸãããLoRAãšãèšç®ã«äœ¿çšãããããåãççž®ããéååæè¡ãçµã¿åãããQLoRAã¯ãã¡ã¢ãªäœ¿çšéãå€§å¹ ã«åæžããŸãã
IA3: Infused Adapter by Inhibiting and Amplifying Inner Activations (IA3) ã¯rescaling vectorsãšåŒã°ãããã¯ãã«ãå°å ¥ããã¢ãã³ã·ã§ã³æ©æ§ã®ããŒãšå€ããŸãPosition-wise Feed-Forwardãããã¯ãŒã¯ã®ã¢ã¯ãã£ããŒã·ã§ã³ãå床ã¹ã±ãŒã«ãããææ³ã§ããIA3ã¯Adaptersã«æ¯ã¹ããšè¿œå ãããã©ã¡ãŒã¿ãå°ãªããŠæžã¿ãŸãã
HINT:Â åŸæ¥ã®LLMã®ææ³ã§ã¯ãã¿ã¹ã¯ã®èª¬æã瀺ãèªç¶èšèªã®æç€º(instruction) ãå ¥åãšããŠãã¢ãã«ãåŠç¿ãããŸãããã®æ¹æ³ã§ã¯ãæç€ºãé·ãå Žåãªã©ãã¿ã¹ã¯ã®çš®é¡ã«ãã£ãŠã¯ã¢ãã«ã®åŠç¿ã«å€ãã®èšç®ãªãœãŒã¹ãå¿ èŠã«ãªããŸããHypernetwork Instruction Tuning for Efficient Zero- & Few-Shot Generalisation (HINT) ã¯ãã¿ã¹ã¯ã®æç€ºãšäŸããäºåã«èšç·Žããããšã³ã³ãŒããŒã䜿çšããŠå€æããããšã§ãæç€ºãå¹ççã«äžããææ³ã§ããããã«ãã£ãŠåŠç¿ã®ããã«ãæç€ºãå°æ°ã®äŸãå ããŠåŠç¿ããããã®èšç®ã³ã¹ãã軜æžããŸãã
ãã¡ã€ã³ãã¥ãŒãã³ã°
SFT: Supervised Fine-Tuning (SFT)ã¯LLMããã¡ã€ã³ãã¥ãŒãã³ã°ããçéã®ææ³ã§ãæ°ããã¿ã¹ã¯ã«ãããã©ãã«ä»ããããäºäŸãçšããŠåŠç¿ãè¡ããŸãããã¡ã€ã³ãã¥ãŒãã³ã°ãã¡ã¢ãªå¹ççã«è¡ãç ç©¶ãæŽ»çºã«è¡ãããŠãããLOw-Memory Optimization (LOMO)ãªã©ã®ææ³ãç¥ãããŠããŸãã
RLHF: Reinforcement Learning from Human Feedback (RLHF)ã¯LLMããã¡ã€ã³ãã¥ãŒãã³ã°ããææ³ã§ã 人ã«ãããã£ãŒãããã¯ãä»ããŠã¢ãã«ã®ããã©ãŒãã³ã¹ãåäžããã匷ååŠç¿ã®ææ³ã§ããOpenAIã§ã¯ãProximal Policy Optimization (PPO) ãçšããããå€§èŠæš¡ãªããŒã¿ã«å¯ŸããŠå®å®ãã€å¹ççãªãã¥ãŒãã³ã°ãå®çŸããŠããŸãã
DPO: Direct Preference Optimization (DPO)ã¯ã匷ååŠç¿ã«ãããå ±é ¬é¢æ°ã®èšèšãšå ±é ¬ã¢ãã«ã®äœæãäžèŠã«ãããã¢ãã«æé©åææ³ã§ããåŸæ¥ã®åŒ·ååŠç¿ã§ã¯ãå ±é ¬é¢æ°ã«åºã¥ããŠå ±é ¬ã¢ãã«ãäœæãããã®ã¢ãã«ã䜿ã£ãŠãšãŒãžã§ã³ãã®è¡åãåŠç¿ãããŠããŸãããããããå ±é ¬é¢æ°ã®èšèšã¯é£ãããå ±é ¬ã¢ãã«ã®äœæãæéãããããŸããDPOã¯ããããã®åé¡ã解決ããããã«ãçŽæ¥å奜ããŒã¿(äŸïŒ2ã€ã®åçã®äžã§ã©ã¡ãã奜ãŸããã)ã«åºã¥ããŠã¢ãã«ãçŽæ¥æé©åããŸããå ·äœçã«ã¯ããã€ããªã¯ãã¹ãšã³ããããŒæå€±ãçšããŠãã¢ãã«ãå奜ããŒã¿ãšäžèŽããããã«åŠç¿ãããŠãããŸããåæ§ã®ç®çã®ããã®ææ³ã«IPOãKTOãªã©ããããŸãã
ãŸãšã
æåŸã«ãå倧å¥ã®ã«ã¹ã¿ãã€ãºææ³ãšãã«ã¹ã¯ã©ããåŠç¿ãèšç®ã³ã¹ããããŒã¿æºåã³ã¹ãã粟床ãžã®åœ±é¿ã®èгç¹ã§ãã¬ãŒããªããæ¯èŒãã衚ã«ãããšäžèšã®ããã«ãªããŸãã

æ¬èšäºã§ã¯ãLLMã®ã«ã¹ã¿ãã€ãºææ³ã玹ä»ããŸãããæ¬¡åã¯ãLLMã®è©äŸ¡ã«ã€ããŠèšäºãæžãäºå®ã§ããä»åŸãLLMé åã®æè¡é²æ©ã«åãããä»å 䟡å€ãæäŸã§ãããããæè¡ååããã£ããã¢ããããŠãããããšèããŠããŸããåæ§ã®æããæã€èªè ã«ãšã£ãŠãå°ãã§ãç§ãã¡ã®èšäºã圹ã«ç«ãŠã°å¹žãã§ãã