
Self-Consistency
"äžã€ã®æ£çã«åããè€æ°ã®éããããšããæãå€ãéžæãããéãæ£ããéã§ããå¯èœæ§ãé«ãã"
Introduction
Self-Consistencyã¯Chain-of-ThoughtïŒCoTïŒããã³ããã£ã³ã°ã®éçãå æããããã«éçºããããã³ãŒãã£ã³ã°æŠç¥ã§ããæ¢åã®CoTãäžã€ã®æšè«çµè·¯ã®ã¿ãçæããã®ãšã¯ç°ãªããè€æ°ã®å€æ§ãªæšè«çµè·¯ãçæããæãäžè²«æ§ã®ããåçãéžæããæ¹åŒã§åäœããŸãã
æ žå¿ã¢ã€ãã¢: è€éãªåé¡ã¯éåžžè€æ°ã®æ¹æ³ã§è§£æ±ºã§ããæ£ããæšè«éçšã¯ç°ãªãçµè·¯ãçµãŠãåãçãã«å°éããå¯èœæ§ãé«ããšããããšã§ãã
Motivation
èšèªã¢ãã«ã®æšè«èœåéç
èšèªã¢ãã«ã倿§ãªèªç¶èšèªåŠçïŒNLPïŒã¿ã¹ã¯ã§åªããæåã瀺ããã«ãããããããæšè«èœåã¯äŸç¶ãšããŠéçãšããŠææãããŸããåçŽã«ã¢ãã«ã®èŠæš¡ãæ¡å€§ããã ãã§ã¯ãã®ãããªå¶çŽãå æããããšãå°é£ã§ããããšã芳å¯ãããŸããã
Chain-of-ThoughtïŒCoTïŒããã³ããã£ã³ã°ã®ãåçŽãªè²ªæ¬²ãã³ãŒãã£ã³ã°ïŒnaive greedy decodingïŒãéç:
Wei et al.ïŒ2022ïŒãææ¡ããCoTããã³ããã£ã³ã°ã¯ãLLMãåé¡è§£æ±ºéçšãæš¡å£ããäžé£ã®çãæç« ïŒæšè«éçšïŒãçæããããèªå°ãã倿®µéæšè«ã¿ã¹ã¯ã®æ§èœãå€§å¹ ã«åäžãããŸããããããããã®è«æã¯CoTããã³ããã£ã³ã°ã§äœ¿çšããã**ãåçŽãªè²ªæ¬²ãã³ãŒãã£ã³ã°ãæŠç¥ã代æ¿**ããå¿ èŠããããšææããŸãã
貪欲ãã³ãŒãã£ã³ã°ã¯å埩æ§ïŒrepetitivenessïŒãšå±ææé©æ§ïŒlocal-optimalityïŒåé¡ãåŒãèµ·ããå¯èœæ§ããããŸããã€ãŸããåžžã«æé©ãªå šäœæšè«çµè·¯ãèŠã€ããããšãã§ãããç¹å®ã®å°ç¹ã§æé©ãšå€æãããäžã€ã®çµè·¯ã®ã¿ã蟿ããããæœåšçã«ããè¯ãä»ã®çµè·¯ãèŠéãå¯èœæ§ããããŸãã
åäžãµã³ãã«çæã®äžç¢ºå®æ§/ãšã©ãŒå¯èœæ§
èšèªã¢ãã«ã¯å®ç§ã§ã¯ãªããåäžæšè«çµè·¯ãçæããéã«äžæ£ç¢ºã§ãã£ããäžé段éã§ãã¹ãç¯ãå¯èœæ§ããããŸãããã®æ¹æ³ã¯æ£ç¢ºãªæšè«éçšã¯å€æ§ã§ãã£ãŠãæçµåçã«å¯Ÿããåæããã倧ãããšããçŽæãæŽ»çšããŠãã®ãããªåé¡ã解決ããããšããŸãã
Method
1. CoTããã³ããã£ã³ã°ã§ã¢ãã«ã«è³ªå
2. è€æ°ã®å€æ§ãªæšè«çµè·¯çæïŒäŸïŒ8åïŒ
3. åçµè·¯ããå°åºãããæçµåçãåé
4. æãé »ç¹ã«çŸããåçãæçµçãšããŠéžæïŒå€æ°æ±ºïŒå®éã®äŸç€º:

Details
远å èšç·ŽäžèŠ
æ¢åã¢ãã«ããã®ãŸãŸäœ¿çšå¯èœ
å¥éã®æ€èšŒã¢ãã«ããã¡ã€ã³ãã¥ãŒãã³ã°ãªãã«å³åº§ã«é©çš
ãµã³ãã«åæ°æé©å
æšå¥šãµã³ãã«åæ°:
- åçŽãªåé¡: 5-10å
- è€éãªåé¡: 20-40å
- ã³ã¹ãèæ
®æ: 10åå
å€ã§éå§
åçããŒã·ã³ã°æŠç¥
æ°åŠåé¡: ãçãã¯Xã§ãããã¿ãŒã³ããæ°åæœåº
å€è¢éžæ: éžæè¢æåæœåº
èªç±åç: å šäœæå忝èŒ
ð æ§èœåäžããŒã¿
è«æã§å ±åãããæ§èœåäž:
GSM8KïŒæ°åŠïŒ: +17.9%絶察æ§èœåäž
SVAMPïŒæ°åŠïŒ: +11.0%åäž
AQuAïŒæ°åŠïŒ: +12.2%åäž
StrategyQAïŒåžžèæšè«ïŒ: +6.4%åäž
ARC-challenge: +3.9%åäž
ãã€äœ¿çšãã¹ããïŒ
a. æ°åŠçæšè«ãå¿ èŠãªåé¡
â
é©åããäŸç€º:
- ã¯ãŒãåé¡ïŒword problemsïŒ
- 倿®µéèšç®
- è«ççæšè«åé¡
â äžé©åãªäŸç€º:
- åçŽååæŒç®
- æèšååé¡b. 倿§ãªã¢ãããŒãæ¹æ³ãååšããåé¡
â
è¯ãäŸç€º:
"äžã€ã®ç®±ã«ããã12åããªã¬ã³ãž8åããããŸãã
æç©ã3人ãçããåãåããšããäžäººåœããäœåãã€æã£ãŠãããã§ããããïŒ"
ã¢ãããŒã1: (12 + 8) ÷ 3 = 20 ÷ 3 = 6.67å
ã¢ãããŒã2: ç·20å â 3人ã§åãããšåèª6åãã€ã2åäœãc. åžžèæšè«ãå¿ èŠãªåé¡
質å: "ã¢ã€ã¹ã¯ãªãŒã ãå·å庫ããåãåºããŠéšå±ã«çœ®ããšã©ããªãã§ããããïŒ"
倿§ãªæšè«çµè·¯:
- 枩床差 â ç±äŒé â èè§£
- åºäœâæ¶²äœçžå€åéçš
- æéçµéã«ããå€åBest Practices
ãµã³ããªã³ã°æŠç¥æé©å
5åçšåºŠã§ãŸãéå§ãããã®åŸæ§èœåäžãããã«å¿ èŠã§ããã°çµè·¯ãå¢ããïŒ
åçéèšããã³æ€èšŒæŠç¥
1. åºæ¬å€æ°æ±ºæ¹åŒ
def aggregate_answers(answers):
from collections import Counter
counter = Counter(answers)
return counter.most_common(1)[0][0]2. äžè²«æ§ã¹ã³ã¢ã¢ãã¿ãªã³ã°
def calculate_consistency(answers):
from collections import Counter
counter = Counter(answers)
max_count = counter.most_common(1)[0][1]
total_count = len(answers)
return max_count / total_count
# äžè²«æ§ãäœãå ŽåïŒ< 0.6ïŒåé¡åæ€èšå¿
èŠ or ããã³ããæ¹åæ€èšLimitations
èšç®ã³ã¹ãå¢å ïŒComputational CostïŒ
èªå·±äžè²«æ§æ¹æ³ã¯åäžæšè«çµè·¯ããã³ãŒãã£ã³ã°ããæ¢åã®è²ªæ¬²ãã³ãŒãã£ã³ã°ïŒgreedy decodingïŒæ¹åŒã«æ¯ã¹ãŠããå€ãã®èšç®ã³ã¹ããçºçãããŸããããã¯å€æ§ãªæšè«çµè·¯ãè€æ°åãµã³ããªã³ã°ããå¿ èŠãããããã§ãããããè«æã§ã¯ãã»ãšãã©ã®å Žåæ§èœãéããã«é£œåãããããã³ã¹ããããŸããããã«å€§éšåã®æ§èœåäžãåŸãããã«å°æ°ã®çµè·¯ïŒäŸïŒ5åãŸãã¯10åïŒããµã³ããªã³ã°ããããšããå§ãããããšèšåããŠããŸãã
äžå®å šãŸãã¯éè«ççãªæšè«çµè·¯çæå¯èœæ§
èšèªã¢ãã«ã¯æã æ£ç¢ºã§ãªããŸãã¯éè«ççãªæšè«çµè·¯ãçæããå¯èœæ§ããããŸããäŸãã°ãStrategyQAã®äŸç€ºã§ã¢ãã«ãçæãã人å£çµ±èšæ°åãæ£ç¢ºã§ãªãå ŽåããããŸããããã®è«æã¯ã¢ãã«ã®æšè«éçšçæïŒrationale generationsïŒãããããæ ¹æ ä»ããã远å çãªç ç©¶ãå¿ èŠã ãšææããŸãã
åºå®åçã»ãããžã®é©çšå¶é
èªå·±äžè²«æ§æ¹æ³ã¯äž»ã«æçµåçãåºå®ãããåçã»ããããåºãåé¡ïŒäŸïŒå€è¢éžæãç®è¡åé¡ã®æ°å€åçïŒã«é©çšã§ããŸããååçã«ã¯å€éçæç©éã®äžè²«æ§æž¬å®åºæºãããå®çŸ©ã§ããã°èªç±åœ¢åŒããã¹ãçæåé¡ã«æ¡åŒµã§ãããšèšåãããŠããŸãããçŸåšã®ãšãããã®æŽ»çšç¯å²ã«å¶çŽããããŸãã