ãããŸã§ãChatGPTã®ã³ã¢ãšã³ãžã³ã®äžã€ã§ããGPT-3.5ã¯ãã¡ã€ã³ãã¥ãŒãã³ã°ã§ããŸããã§ãããã€ãŸããGPTã¯é«ãæ±çšæ§èœã瀺ãäžæ¹ã§ãç¹å®ã®æ¥åã«ç¹åããã¢ãã«ç²ŸåºŠã®åäžææ®µã¯ããã³ããã£ã³ã°ãªã©ã«éå®ãããŠããŸããã
ããããªããã2023幎8æ22æ¥ã«OpenAIã®å ¬åŒãµã€ãã§ãGPT-3.5 Turbo fine-tuning and API updatesããšããåŸ æã®ã¢ããããŒããçºè¡šãããŸãããããã«ãããã€ãã«GPT-3.5ã§ãã¡ã€ã³ãã¥ãŒãã³ã°ãã§ããããã«ãªããŸãããå ããŠGPT-4ã«ã€ããŠãã11æ6æ¥ã®OpenAI DevDayã§çºè¡šãããéãããexperimentalããšããŠäžéšãŠãŒã¶ãŒã®ã¢ã¯ã»ã¹ãå¯èœãªç¶æ ã«ãªã£ãŠããŸãã
æ¯ãè¿ã£ãŠã¿ããšã2023幎7æ6æ¥ã«çºè¡šãããããGPT-4 API general availability and deprecation of older models in the Completions APIããšããã¢ããããŒãã®äžã§ã幎ã®åŸåã«GPT-3.5ãšGPT-4ã®ãã¡ã€ã³ãã¥ãŒãã³ã°æ©èœã®è¿œå ãäºåããã°ããã§ãããã«ãé¢ããããGPT-3.5ã«ã€ããŠã¯æ©ãã8æã«ãã¡ã€ã³ãã¥ãŒãã³ã°å¯èœãšãªããGPT-4ã«ã€ããŠãexperimentalãšã¯ãã11æã«ãã¡ã€ã³ãã¥ãŒãã³ã°å¯èœãšãªããŸããã
äœãå¬ããã®ã?
ãã¡ã€ã³ãã¥ãŒãã³ã°ãã§ããããã«ãªã£ãŠäœãå¬ããã®ã§ããããã倧ããåããŠä»¥äžã®2ç¹ãæããããŸãã
- ã¢ãã«ã®ç²ŸåºŠ
- æ§èœãšå¹çæ§
ã¢ãã«ã®ç²ŸåºŠã«ã€ããŠã¯ãåè¿°ãã8æ22æ¥ã®çºè¡šã®äžã§ããã¡ã€ã³ãã¥ãŒãã³ã°ããGPT-3.5ã¯GPT-4ãšåçããå Žåã«ãã£ãŠã¯GPT-4ãè¶ ãã粟床ã瀺ãããšãããŠããŸãããŸããã³ã¹ãé¢ãããã粟床ãGPT-4ãšåç以äžã§ããããšã§ãGPT-4ããå®äŸ¡ãªGPT-3.5ãéžæã§ããã±ãŒã¹ãå¢ããã®ã¯ã¡ãªããã ãšèšããã§ãããã
æ§èœãšå¹çæ§ã®èгç¹ã§èšãã°ãããã³ããã«äžããå¿ èŠã®ããããŒã¿ãµã€ãºãæå€§90ïŒ åæžããããšãã§ãããããåAPIã³ãŒã«ã®é«éåãèŠèŸŒããŸãã
ãŸãšãããšããããŸã§ã¯å€§éã®ããŒã¿ãããã³ããã£ã³ã°ããããšã§ç²ŸåºŠåäžãå³ã£ãŠããã®ã«å¯Ÿãããããããã³ã¢ã¢ãã«ã§ããGPT-3.5ã«ããŒã¿ãäžããïŒãã¡ã€ã³ãã¥ãŒãã³ã°ããïŒããšãã§ããããã«ãªããããã³ããã«æž¡ãããŒã¿ãæå°éã«æžãããã«ãªã£ãã®ã§ãã
èæ ®ç¹ã¯?
ãã¡ã€ã³ãã¥ãŒãã³ã°ã®å®æœã«ããã£ãŠã¯ã以äžã®ç¹ã«èæ ®ãå¿ èŠã§ãã
- ã³ã¹ã
- æéã»åŽå
ã³ã¹ãé¢ã§ã¯ãå¢å èŠçŽ ãšæžå°èŠçŽ ããããŸãã
åè¿°ã®éããæå°éã®ããŒã¿éã§æžãããšããããã³ããã«å ¥åããããŒã¯ã³æ°ãæžããããšãã§ãããã®ç¹ã§ã¯ã³ã¹ããåæžã§ããŸããäžæ¹ã§ããã¡ã€ã³ãã¥ãŒãã³ã°åŸã®ã¢ãã«ãžã®ã¢ã¯ã»ã¹ã®1ããŒã¯ã³ãããã®ã³ã¹ããå¢å ããŸãã
æéã»åŽåã«ã€ããŠãå ¬åŒã¬ã€ãã§ã¯ä»¥äžã®ãããªæ³šæç¹ã瀺ãããŠããŸãïŒçè ã«ããæèš³ïŒã
ãã¡ã€ã³ãã¥ãŒãã³ã°ããããã§ã¯ãªãããã³ãããšã³ãžãã¢ãªã³ã°ãªã©ã®æ¹æ³ã䜵ããŠæ€èšãããšè¯ãã§ãããã
ã©ããã£ãŠäœ¿ãã°è¯ãã®ã?
ãã¡ã€ã³ãã¥ãŒãã³ã°ã¯ã以äžã®5ã€ã®ã¹ãããã§è©Šãããšãã§ããŸãã
- API Keyã®å ¥æ
- åŠç¿ããŒã¿ã®æºå
- ã¢ãã«æ§ç¯è²»çšã®äºåãã£ãŒãž
- ãã¡ã€ã³ãã¥ãŒãã³ã°ã¢ãã«ã®æ§ç¯
- ã¢ãã«ã®ç¢ºèª
ããã§ã¯æ©éãå®éã«æãåãããªããçè§£ãæ·±ããŠãããŸãããã
1. API Keyã®å ¥æ
Open AIã®ãµã€ãã«ãã°ã€ã³ããŸããç»é¢å³äžã®ã¢ã«ãŠã³ãã¡ãã¥ãŒãã[View API Keys]ãéžæããŸãã
[USER]-[API Keys]ã«ãããŠã[Create new secret keys]ãã¯ãªãã¯ããŸãã
ä»»æã®ååãå ¥åãã[Create secret key]ãã¯ãªãã¯ããŸãã
API KeyãçæãããŸããã³ããŒã¢ã€ã³ã³ãã¯ãªãã¯ããOpenAIã®APIããŒãååŸããŸãã
2. ããŒã¿ã®æºå
ãã¡ã€ã³ãã¥ãŒãã³ã°ã§ã¯ããã§ã«åŠç¿æžã¿ã®ã¢ãã«ã«å¯Ÿããæ°ããªããŒã¿ã䜿ã£ãŠè¿œå åŠç¿ãè¡ããŸãã
å ¬åŒã¬ã€ãã§ã¯ä»¥äžã®ãããªãŠãŒã¹ã±ãŒã¹ã瀺ãããŠããŸãã
- ã¹ã¿ã€ã«ãããŒã³ããã©ãŒãããããã®ä»ã®è³ªçåŽé¢ã®èšå®
- åžæããã¢ãŠãããããåºãéã®ä¿¡é Œæ§ã®åäž
- è€éãªããã³ããã«åŸããªãå Žåã®ä¿®æ£
- å€ãã®ç¹æ®ãªã±ãŒã¹ãç¹å®ã®æ¹æ³ã§åŠçãã
- ããã³ããã§è¡šçŸããã®ãé£ããæ°ããã¹ãã«ãã¿ã¹ã¯ãå®è¡ãã
ä»åã¯ããã¡ã€ã³ãã¥ãŒãã³ã°çšã®ããŒã¿ãšããŠã倪éããã®äººæã衚ã質åãšåçã®ã»ããã10åãJSONL圢åŒã§æºåããŸãããã¡ã€ã«åã¯ãtaro.jsonlããšããŸãïŒä»¥äžåç §ïŒâ»ã
â»ãã¡ãªã¿ã«çè
ã¯taro.jsonlãChatGPTã§ä»¥äžã®ããã³ããã䜿ã£ãŠäœããŸããã
ã»AAAïŒå€ªéãžã®å£°ãã
ã»BBBïŒå€ªéã®åç
åºå圢åŒã¯ä»¥äžãšããŠãã ãããAAAãšBBBã«ã¯äžèšå
容ãå
¥ããŠãã ããã
{"messages": [{"role": "system", "content": "倪éã¯ãã人ã§ãã"}, {"role": "user", "content": "AAA"}, {"role": "assistant", "content": "BBB"}]}
{"messages": [{"role": "system", "content": "倪éã¯ãã人ã§ãã"}, {"role": "user", "content": "倪éãæšæ¥ã®ãã°ããããå©ããŠãããŠããããšããã"}, {"role": "assistant", "content": "ããã倧ããããšãããªãããå©ããã®ã¯åœããåã ããã"}]}
{"messages": [{"role": "system", "content": "倪éã¯ãã人ã§ãã"}, {"role": "user", "content": "倪éãåã貞ããŠãããïŒ"}, {"role": "assistant", "content": "ãã¡ããããã£ã¡ã ãã"}]}
{"messages": [{"role": "system", "content": "倪éã¯ãã人ã§ãã"}, {"role": "user", "content": "倪éã宿é¡ã®ããŒã貞ããŠããã£ãŠãããïŒ"}, {"role": "assistant", "content": "ããããããã«ãããã"}]}
{"messages": [{"role": "system", "content": "倪éã¯ãã人ã§ãã"}, {"role": "user", "content": "倪éããã®éè¯ç«ã«ãã€ããšãµããããŠãã®ïŒ"}, {"role": "assistant", "content": "ãããã¡ãã£ãšããããšã ãã©ãç«ããè
¹ã空ããããã"}]}
{"messages": [{"role": "system", "content": "倪éã¯ãã人ã§ãã"}, {"role": "user", "content": "倪éãæ¬¡ã®æ ç»ãåããããã³ãŒã³å¥¢ããã"}, {"role": "assistant", "content": "ããããšãïŒã§ããååã¯åã奢ã£ããããä»åã¯ååãã€ã§ã©ãã ãïŒ"}]}
{"messages": [{"role": "system", "content": "倪éã¯ãã人ã§ãã"}, {"role": "user", "content": "倪éããã財åžèœãšããã®åãããªãïŒ"}, {"role": "assistant", "content": "ããããã¯åã®ãããªãããã§ãã倱ããã人ãå°ã£ãŠãã ãããããäžç·ã«å±ããããïŒ"}]}
{"messages": [{"role": "system", "content": "倪éã¯ãã人ã§ãã"}, {"role": "user", "content": "倪éã鱿«ã®ãã©ã³ãã£ã¢ãäžç·ã«ãããªãïŒ"}, {"role": "assistant", "content": "ããããã¡ããåå ãããïŒ"}]}
{"messages": [{"role": "system", "content": "倪éã¯ãã人ã§ãã"}, {"role": "user", "content": "倪éãåäŸãã¡ã«ãµãã«ãŒæããŠãã®æ¥œããïŒ"}, {"role": "assistant", "content": "æ¬åœã«æ¥œãããã圌ãã®ç¬é¡ãèŠãã®ãæé«ã ããã"}]}
{"messages": [{"role": "system", "content": "倪éã¯ãã人ã§ãã"}, {"role": "user", "content": "倪éãè¿æã®æž
ææŽ»åããŸãããããã"}, {"role": "assistant", "content": "ãããïŒæäŒãããæž
æœãªç°å¢ã¯å€§åã ããã"}]}
{"messages": [{"role": "system", "content": "倪éã¯ãã人ã§ãã"}, {"role": "user", "content": "倪éããã®ãããžã§ã¯ããäžç·ã«åãçµãããïŒ"}, {"role": "assistant", "content": "äºè§£ïŒåãå
šåã§ãµããŒããããã"}]}
ç¶ããŠã以äžã®ã³ãã³ãã§ããŒã¿ãã¢ããããŒãããŸãããopenai.api_keyãã«åç¯ã§äœæããAPIããŒãæå®ããŸããJSONLãã¡ã€ã«ã«ã¯ãå ã»ã©äœæããããŒã¿ïŒtaro.jsonlïŒãæå®ããŸãã
import openai
openai.api_key = "ããªãã®APIããŒ"
openai.File.create(file=open("taro.jsonl", "rb"), purpose='fine_tune')
ã³ãã³ããæ£åžžçµäºãããšã以äžãåºåãããŸãããidãã®å€ãfile-xxxxxxxxxxxxxxxxxxxxxxxxããã¡ã¢ããŠãããŸãããã
JSON: {
"object": "file",
"id": "file-xxxxxxxxxxxxxxxxxxxxxxxx",
ïœåŸç¥ïœ
3. ã¢ãã«æ§ç¯è²»çšã®äºåãã£ãŒãž
ã¢ãã«ã®æ§ç¯ã¯æåã®ãããäºåã«ãã£ãŒãžããŠããå¿ èŠããããŸãã
ãŸããã©ãŠã¶ããããBilling overviewãã«ã¢ã¯ã»ã¹ããŠãã ããã[Start payment plan]ãã¿ã³ãã¯ãªãã¯ããŠã¯ã¬ãžããã«ãŒãæ å ±ãªã©ãå ¥åããå ¥éããŸãã
æäœéã®è²»çšã§è©Šããããããã§ã¯ãããã ã®5$ãå ¥éããŸããããŸããèªåå ¥éïŒAuto rechargeïŒãOffã«ããŠãããŸãã
å ·äœçãªå ¥éæé ã¯å ¬åŒãµã€ãã®ãWhat is prepaid billing?ããåç §ããŠãã ããã
åèãŸã§ã«ãçè ã®ç°å¢ã§ã¯ãåŸè¿°ã®æé ãå®è¡ãããš0.07$æ¶è²»ãããŸãããã¢ããããŒããããã¡ã€ã«ãµã€ãºãªã©ã«ãã£ãŠéé¡ã¯ååŸããã®ã§ãæé衚ãªã©ã確èªã®äžãèªå·±è²¬ä»»ã§å®æœããŠãã ããã
4. ãã¡ã€ã³ãã¥ãŒãã³ã°ã¢ãã«ã®æ§ç¯
ã§ã¯ããã¡ã€ã³ãã¥ãŒãã³ã°ã®ã¢ãã«ãæ§ç¯ããŠã¿ãŸããããåè¿°ã§ã¡ã¢ãããfile-xxxxxxxxxxxxxxxxxxxxxxxxãã®éšåãæå®ããŠå®è¡ããŸãã
openai.FineTuningJob.create(training_file="file-xxxxxxxxxxxxxxxxxxxxxxxx", model="gpt-3.5-turbo")
以äžã®ããã«åºåãããŸãããã¢ãã«æ§ç¯å®äºã«ã¯æ°åïœ10åçšåºŠããããŸãã
JSON: {
"object": "fine_tuning.job",
ïœåŸç¥ïœ
å®è¡ç¶æ³ã以äžã®ã³ãã³ãã§ç¢ºèªããŸãããã
openai.FineTuningJob.list(limit=10)
ãããšã以äžã®ããã«å®è¡ç¶æ³ãåºåãããŸãããstatusãããrunningããããsucceededãã«å€ãããšå®äºã§ãã
JSON: {
"object": "list",
"data": [
{
ïœäžç¥ïœ
"status": "running",
ïœåŸç¥ïœ
5. ãã¡ã€ã³ãã¥ãŒãã³ã°ã¢ãã«ã®å©çš
æ§ç¯ãããã¡ã€ã³ãã¥ãŒãã³ã°ã¢ãã«ãå©çšããŠã¿ãŸãããã
ãã©ãŠã¶ããããOpenAI PlaygroundããéããŸãã
[Model]-[FINE-TUNES]ã«ãããŠæ§ç¯ãããã¡ã€ã³ãã¥ãŒãã³ã°ã¢ãã«ãéžæã§ããŸãã
以äžã®ããã«ã[SYSTEMïŒæ¡ä»¶ïŒ]ãš[USERïŒè³ªåïŒ]ãèšå®ãã[Submit]ãã¿ã³ãæŒããŸãã
- SYSTEM: ã倪éã¯ãã人ã§ããã
- USER: ã倪éãæ¬¡ã®æ ç»ãåããããã³ãŒã³å¥¢ãããã
ãããšã以äžã®æèšãåçãããŸãã
- ASSISTANT: ãããããšãïŒã§ããååã¯åã奢ã£ããããä»åã¯ååãã€ã§ã©ãã ãïŒã
*ã*ã*
çæAIãåãå·»ãæè¡ã®é²åã¯æ©ããèªè ã®çããããã®èšäºãèªãã§ããé ã«ã¯ãããæ°ããªæ©èœãå ¬éãããŠãããããããŸãããããã³ãããšã³ãžãã¢ãªã³ã°ä»¥å€ã«ãããã¡ã€ã³ãã¥ãŒãã³ã°ã掻çšããããšã§ãçæAIã®ãããªã掻çšã®å¯èœæ§ãåºãããŸããçæAIã«å¯Ÿããçè§£ãæ·±ããããã«ãããã²äžåºŠãæå ã®ç°å¢ã§åãããŠã¿ãŠã¯ãããã§ããããã








