Slide 1

Slide 1 text

ੜ੒AIͱࣗવݴޠॲཧͷجૅ Pythonػցֶशษڧձ in ৽ׁ 2023-11-11 @kasacchiful

Slide 2

Slide 2 text

Classmethod, Inc. Solutions Architect / Software Developer AWS Community Builder (Serverless) Favorite: Community: • JAWS-UG Niigata • Python ML in Niigata • JaSST Niigata • ASTER • SWANII • Cloud fl are Meetup Niigata • etc. Hiroshi Kasahara @kasacchiful @kasacchiful 2

Slide 3

Slide 3 text

໨࣍ • ੜ੒AIʹ͍ͭͯ • ࣗવݴޠॲཧͷجૅ • ੜ੒AIͱ͏·͘෇͖߹͏ʹ͸ʁ

Slide 4

Slide 4 text

ੜ੒AIʹ͍ͭͯ

Slide 5

Slide 5 text

ੜ੒AIͱ͸Կ͔ʁ • ϓϩϯϓτʹԠ౴ͯ͠ςΩετɺը૾ɺ·ͨ͸ଞͷϝσΟΞΛੜ੒͢ Δ͜ͱ͕Ͱ͖Δਓ޻஌ೳγεςϜͷҰछͰ͋Δɻ ग़యIUUQTKBXJLJQFEJBPSHXJLJੜ੒తਓ޻஌ೳ

Slide 6

Slide 6 text

ੜ੒AIͱ͸Կ͔ʁ

Slide 7

Slide 7 text

ੜ੒AIͷ୅දతͳྫ • ࣗવݴޠੜ੒ • ChatGPTͷΑ͏ʹɺਓ͕ؒ࡞ͬͨΑ͏ͳจষΛੜ੒͢Δٕज़ • ը૾ੜ੒ • GAN (Generative Adversal Network) ͷΑ͏ͳٕज़Ͱɺೖྗͷը૾͔Β৽͍͠ը૾ Λੜ੒͢Δٕज़ • ଞ • ʮࣗવݴޠ → ը૾ʯ΍ʮࣗવݴޠ → ࣗવݴޠͱը૾ʯ͕Ͱ͖ΔϞσϧ͕ଘࡏ͢Δɻ

Slide 8

Slide 8 text

ChatGPTͷিܸ • 2022೥11݄ • OpenAI͕ࣾChatGPTΛϦϦʔε • ର࿩ͷମݧ͕ඇৗʹྑ͍ͱ࿩ ୊ʹͳΔ • Google → ඇৗࣄଶ(Code Red)એݴ • Microsoft → ఏܞ & ࣗࣾαʔ ϏεऔΓࠐΈ (Bing / Azure) ग़యIUUQTQSFTJEFOUKQBSUJDMFT • 2023೥3݄ • ChatGPTͷAPIΛϦϦʔε • ར༻ྉ͕҆ՁͳGPT-3.5-Turbo • Bot΍ΞϓϦ͕ଓʑϦϦʔε • 2023೥3݄ • GPT-4ΛϦϦʔε • ໿100ஹݸͷύϥϝʔλ

Slide 9

Slide 9 text

ଞͷੜ੒AIαʔϏε • Bard • Google͕ఏڙ͢Δର࿩ܕAIαʔϏε (ChatGPTͷର߅) • Claude • Anthropic͕ఏڙ͢Δର࿩ܕAIαʔϏε • Anthropic͸ݩOpenAIͷϝϯόʔ͕ىۀɻGoogleɺAmazon౳͕ग़ࢿɻ • Amazon BedrockͰClaude v2͕ར༻Մೳ • Claude v2ͷ೔ຊޠੑೳ͸ɺGPT-4ʹඖఢ͢Δͱ͍ΘΕ͍ͯΔ

Slide 10

Slide 10 text

ੜ੒AIར༻ͷ伴: ϓϩϯϓτ • ϓϩϯϓτΤϯδχΞϦϯά • ੜ੒AI͔Βద੾ͳग़ྗΛಘΔͨΊͷೖྗ (ϓϩϯϓτ) Λ࠷దԽ͢ Δख๏

Slide 11

Slide 11 text

ϓϩϯϓτΤϯδχΞϦϯάΨΠυ • https://www.promptingguide.ai/jp

Slide 12

Slide 12 text

ChatGPT Prompt Engineering for Developers • https://www.deeplearning.ai/short-courses/chatgpt-prompt- engineering-for-developers/

Slide 13

Slide 13 text

ϓϩϯϓτͷίπ • ໌֬Ͱ۩ମతͳࢦࣔΛॻ͘ • ໌֬ͳ໾ׂΛॻ͘ • ۠੾ΓจࣈΛ࢖͏ • ճ౴ྫΛग़͢ • ຐ๏ͷݴ༿ʮεςοϓόΠεςοϓͰʯ • ճ౴݁Ռͷ௕͞Λࢦఆ͢Δ • ୯७ͳ࣭໰ʹ෼͚Δ

Slide 14

Slide 14 text

ϓϩϯϓτͷίπ: ໌֬Ͱ۩ମతͳࢦࣔΛॻ͘ • ʮ͍ͭɾͲ͜Ͱɾ୭͕ɾԿΛɾͳͥɾͲͷΑ͏ʹɾͲΕ͘Β͍ʯͳͲ • ᐆດͳ࣭໰Ͱ΋ճ౴ͯ͘͠ΕΔ͕ɺޡͬͨ݁ՌΛճ౴ͯ͠͠·͏͜ͱ ͕ଟ͍ɻ

Slide 15

Slide 15 text

ϓϩϯϓτͷίπ: ໌֬ͳ໾ׂΛॻ͘ • ಛఆͷ໾ׂΛ༩͑Δͱɺͦͷ໾ׂΛԋͯ͡Ұ؏ੑͷ͋Δճ౴͕ಘΒΕ Δɻ • ྫ: • ͋ͳͨ͸ҰྲྀͷʓʓͰ͢ɻ • ωΠςΟϒϨϕϧͷ຋༁ՈͰ͢ɻ • Ϊϟϧʹͳͬͯ౴͍͑ͯͩ͘͞ɻ

Slide 16

Slide 16 text

ϓϩϯϓτͷίπ: ۠੾ΓจࣈΛ࢖͏ • ෳࡶͳϓϩϯϓτΛ಺༰ʹΑͬͯ۠੾Δ • ۠੾Γจࣈ͸εϖʔε΍Ҿ༻ූͳͲΛ࢖͏৔߹͕ଟ͍ • ྫ: ҎԼͷจষΛཁ໿ͯ͠Լ͍͞ɻ ## จষ {͜͜ʹจষΛॻ͘} ## ճ౴

Slide 17

Slide 17 text

ϓϩϯϓτͷίπ: ճ౴ྫΛग़͢ • ͋Β͔͡Ί͍͔ͭ͘ճ౴ྫΛϓϩϯϓτʹॻ͍ͯ͋͛Δ͜ͱͰɺͦͷ಺༰ʹԊͬ ͯճ౴ͯ͘͠ΕΔɻ • ྫ: ରٛޠΛڭ͍͑ͯͩ͘͞ɻΘ͔Βͳ͍৔߹͸ɺΘ͔Βͳ͍ͱ౴͍͑ͯͩ͘͞ɻ ࣭໰: େ͖͍ɹճ౴: খ͍͞ ࣭໰: ߴ͍ɹճ౴: ௿͍ ࣭໰: ڱ͍ɹճ౴:

Slide 18

Slide 18 text

ϓϩϯϓτͷίπ: ຐ๏ͷݴ༿ʮεςοϓόΠε ςοϓͰʯ • ܭࢉΛ൐͏έʔεͳͲෳࡶͳϓϩϯϓτͷ৔߹ɺਖ਼͍͠౴͑ʹͳΒͳ͍͜ͱ͕ଟ͍ɻ • લड़ͷճ౴ྫΛग़ͯ͋͛͠Δͱਫ਼౓্͕͕Δ͕ɺʮεςοϓόΠεςοϓͰߟ͑ͯΈ ·͠ΐ͏ɻʯͱ౤͔͚͛Δ͜ͱͰݴޠϞσϧଆͰॱ൪ʹࢥߟͯ͠ਖ਼͍͠౴͑ʹͳΔ έʔε͕ଟ͍ɻ(͜ΕΛ Zero-shot Chain of Thought Prompting ͱݺͿ ) • ྫ: ࢲ͸ࢢ৔ʹߦͬͯ10ݸͷϦϯΰΛങ͍·ͨ͠ɻྡਓʹ2ͭɺमཧ޻ʹ2ͭ౉͠·ͨ͠ɻ ͦΕ͔Β5ͭͷϦϯΰΛങͬͯ1ͭ৯΂·ͨ͠ɻ࢒Γ͸ԿݸͰ͔͢ʁεςοϓόΠε ςοϓͰߟ͑ͯΈ·͠ΐ͏ɻ

Slide 19

Slide 19 text

ϓϩϯϓτͷίπ: ճ౴݁Ռͷ௕͞Λࢦఆ͢Δ • ճ౴ͤ͞Δࡍͷྻڍ਺΍จࣈ਺Λࢦఆ͢Δͱɺճ౴಺༰ͷՄಡੑ্͕ ͕Δɻ • ྫ: • ҎԼͷձٞͷٞࣄ࿥Λ200จࣈҎ಺Ͱཁ໿͍ͯͩ͘͠͞ɻ • ࣄલʹݕ౼͓ͯ͘͠΂͖͜ͱΛ5ͭ·Ͱग़͍ͯͩ͘͠͞ɻ

Slide 20

Slide 20 text

ϓϩϯϓτͷίπ: ୯७ͳ࣭໰ʹ෼͚Δ • ෳࡶͰᐆດͳ࣭໰Ͱ΋ճ౴ͯ͘͠ΕΔ͕ɺ࣭໰಺༰Λ෼ׂ͢Δ͜ͱͰͦͷ಺༰ΛҰͭͣͭճ౴ͯ͠ ͘ΕΔɻ • ྫ: • ༑ਓͷ݁ࠗࣜͷ͝ॕّʹ͍ͭͯڭ͍͑ͯͩ͘͞ • ͝ॕّͷ૬৔͸͍͘ΒͰ͔͢ʁ • ࠓճͷέʔεͩͱ͍͘Β͕ଥ౰Ͱ͔͢ʁ • ͝ॕّା͸ͲΜͳσβΠϯΛબͿ΂͖Ͱ͔͢ʁ • ͝ॕّାʹॻ͘Ѽ໊͸ͲͷΑ͏ʹॻ͘΂͖Ͱ͔͢ʁ • ଞʹ஫ҙ఺͸͋Γ·͔͢ʁ

Slide 21

Slide 21 text

ࣗવݴޠॲཧͷجૅ

Slide 22

Slide 22 text

ੜ੒AIʹབྷΉॲཧ

Slide 23

Slide 23 text

ੜ੒AIʹབྷΉॲཧ = Embedding

Slide 24

Slide 24 text

Embedding (ຒΊࠐΈ) • ςΩετจࣈྻΛɺଟ࣍ݩͷ਺஋ϕΫτϧʹม׵͢Δ͜ͱ • ҙຯͷ͍ۙ୯ޠಉ࢜͸ɺޓ͍ʹ͍ۙϕΫτϧ্ۭؒʹ഑ஔ͞ΕΔ͜ͱ Ͱɺ͍ۙҙຯͷݕࡧ౳ͰҖྗΛൃش͢Δɻ • OpenAI͸ɺݴޠϞσϧͷ܇࿅աఔͰɺେྔͷςΩετσʔλΛ୯ޠ ΍จষ͕ͲͷΑ͏ʹؔ࿈͠߹͍ͬͯΔ͔Λֶश͍ͯ͠Δɻ (Embeddingͷֶश) ͓͸Α͏ → [0.008031543, -0.00587116, … , -0.0040030633]

Slide 25

Slide 25 text

Word2Vec • ୯ޠΛϕΫτϧԽ • ୯ޠͷҙຯΛఆྔతʹ೺Ѳ͢Δ͜ͱ͕Մೳ • ʮԦ༷ʯ-ʮஉੑʯ+ʮঁੑʯ=ʮঁԦʯ • Word2VecͷϞσϧ͸ͨ͘͞Μެ։͞Ε͍ͯΔ • จষ͔Β୯ޠʹ෼͚Δॲཧ͸ɺผ్ܗଶૉղੳͰʮ෼͔ͪॻ͖ʯΛߦ͏͜ͱ͕ ଟ͍ • MeCab / Janome ౳Ͱ࣮ࢪ

Slide 26

Slide 26 text

OpenAIͷEmbedding • จষΛʮτʔΫϯʯʹ෼͚Δ • ୯ޠ΍۟ಡ఺ͳͲ͕ɺͦΕͧΕҰҙͷ਺஋ID (=τʔΫϯ) ʹม׵ • ʮτʔΫϯʯ͕ར༻ྉʹؔΘΔ • ʮτʔΫϯʯຖʹEmbedding • Embeddingࣗମ΋ֶशʹΑͬͯ֫ಘ͍ͯ͘͠ • Embedding݁ՌͷϕΫτϧΛ࢖ֶͬͯश • GPT౳ͷݴޠϞσϧͷֶश

Slide 27

Slide 27 text

ݴޠϞσϧͷத֩: Transformer ग़య"TIJTI7BTXBOJ FUBMl"UUFOUJPO*T"MM:PV/FFEz /*14 IUUQTBSYJWPSHBCT

Slide 28

Slide 28 text

Vector Store • ϕΫτϧσʔλΛอଘɾݕࡧ͢ΔͨΊͷσʔλϕʔε • େྔͷจষΛEmbedding • → େྔͷϕΫτϧσʔλ͕ग़དྷ্͕Δ • ۙ೥ɺVector StoreͷαʔϏε͕ଟ͘ొ৔͖͍ͯͯ͠Δ

Slide 29

Slide 29 text

ੜ੒AIͱ͏·͘෇͖߹͏ʹ͸ʁ

Slide 30

Slide 30 text

ݕ౼͢΂͖͜ͱ • ϓϩϯϓτɺΊͪΌେࣄ • ੜ੒AIར༻ΨΠυϥΠϯΛߟ͑Δ • τʔΫϯͷਪఆ • OpenAIͷεςʔλενΣοΫ

Slide 31

Slide 31 text

ੜ੒AIར༻ΨΠυϥΠϯ • ೔ຊσΟʔϓϥʔχϯάڠձ͕ެ ։͍ͯ͠Δ • https://www.jdla.org/document/

Slide 32

Slide 32 text

ଞͷձࣾͷΨΠυϥΠϯ΋ࢀߟʹ • Ϋϥεϝιου͕ެ։͍ͯ͠Δ • https://dev.classmethod.jp/ articles/guideline-for-use-of-ai- services/

Slide 33

Slide 33 text

τʔΫϯͷਪఆ • https://platform.openai.com/ tokenizer • Ͳͷ͘Β͍ͷτʔΫϯ͕͔͔Δ͔ਪఆ • ར༻ྉ΍rate limitͷࢀߟʹ

Slide 34

Slide 34 text

OpenAIͷεςʔλε • OpenAIͷαʔϏε͕མ͍ͪͯΔ ͔ͳͱࢥͬͨΒɺ͜͜ΛνΣοΫ • https://status.openai.com/

Slide 35

Slide 35 text

ͦΕͰ͸ɺϋϯζΦϯ ΍ͬͯΈ·͠ΐ͏