Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MIROSTAT で意外さを コントロールした文章生成

MIROSTAT で意外さを コントロールした文章生成

NLP Hacks vol.2 の LT 資料です。

Ff1cdf6b1cf5890b8daba082b15466a7?s=128

Ryokan RI

March 07, 2022
Tweet

Other Decks in Technology

Transcript

  1. MIROSTAT Ͱҙ֎͞Λ ίϯτϩʔϧͨ͠จষੜ੒ - NLP Hacks vol.2 2022/03/4 - ౦ژେֶɹ௽Ԭݚ

    ཥ ྇פ (@ryoNLP0123)
  2. • ཥ ྇פ • ओͳڵຯ͸ʮϚϧνϦϯΨϧͳࣗવݴޠॲཧʯ • ௽Ԭݚ D2 ࣗݾ঺հ

  3. ݴޠϞσϧʹΑΔจষੜ੒

  4. ݴޠϞσϧʹΑΔจষੜ੒

  5. จॻੜ੒ͷجຊݪཧ ᶃ ࠓ·Ͱͷ୯ޠΛೖྗʹɺ࣍ͷ୯ޠͷ֬཰෼෍Λܭࢉɻ ᶄ ֬཰෼෍͔Β୯ޠΛબΜͰग़ྗɻ ᶅ ग़ྗΛϞσϧͷೖྗʹՃ͑Δɻ → ᶃ ʹ໭Δɻ

    ݴޠϞσϧ ⾃ 然 ⾔ 語 処 理 と は ⾔ 語 機 械 …
  6. จॻੜ੒ͷجຊݪཧ ᶃ ࠓ·Ͱͷ୯ޠΛೖྗʹɺ࣍ͷ୯ޠͷ֬཰෼෍Λܭࢉɻ ᶄ ֬཰෼෍͔Β୯ޠΛબΜͰग़ྗɻ ᶅ ग़ྗΛϞσϧͷೖྗʹՃ͑Δɻ → ᶃ ʹ໭Δɻ

    ݴޠϞσϧ ⾃ 然 ⾔ 語 処 理 と は ⾔ 語 機 械 … ͕͜͜ࠓճͷτϐοΫɻ
  7. •Greedy decoding •Sampling •Top-k sampling •Top-p sampling (Nucleus sampling) •MIROSTAT

    ֬཰෼෍͔Β୯ޠΛબͿख๏
  8. • ຖεςοϓ͝ͱʹ࠷΋֬཰͕ߴ͍୯ޠΛબͿɻ Greedy decoding ⾔ 語 機 械 …

  9. ࣗવݴޠॲཧͱ͸ɺࣗવݴޠΛॲཧ͢Δٕज़Ͱ͋Δɻ ࣗવݴޠॲཧͱ ͸ɺࣗવݴޠΛॲཧ͢Δٕज़Ͱ͋Δɻ ࣗવݴޠॲཧͱ͸ɺࣗવݴޠΛ ॲཧ͢Δٕज़Ͱ͋Δɻ ࣗવݴޠॲཧͱ͸ɺࣗવݴޠΛॲཧ͢Δٕज़Ͱ ͋Δɻ ࣗવݴޠॲཧͱ͸ɺࣗવݴޠΛॲཧ͢Δٕज़Ͱ͋Δɻ ࣗવݴޠ ॲཧͱ͸ɺࣗવݴޠΛॲཧ͢Δٕज़Ͱ͋Δɻ

    ࣗવݴޠॲཧͱ͸ɺࣗવ ݴޠΛॲཧ͢Δٕज़Ͱ͋Δɻ ࣗવݴޠॲཧͱ͸ɺࣗવݴޠΛॲཧ͢Δ ٕज़Ͱ͋Δɻ ࣗવݴޠॲཧͱ͸ɺࣗવݴޠΛॲཧ͢Δٕज़Ͱ͋Δɻ ࣗ વݴޠॲཧͱ͸ɺࣗવݴޠΛॲཧ͢Δٕज़Ͱ͋Δɻ ࣗવݴޠॲཧͱ ͸ɺࣗવݴޠΛॲཧ͢Δٕज़Ͱ͋Δɻ ࣗવݴޠॲཧͱ͸ɺࣗવݴޠΛ ॲཧ͢Δٕज़Ͱ͋Δɻ ࣗવݴޠॲཧͱ͸ɺࣗવݴޠΛॲཧ͢Δٕज़Ͱ ͋Δɻ ग़ྗྫ rinna/japanese-gpt2-medium {“num_beams”: True}
  10. 🙆 ྑ͍ͱ͜Ζ • ੜ੒ͷ༻్ʹΑͬͯ͸͏·͍͘͘ʢػց຋༁ͳͲɺڧ͘৚ ݅෇͚ΒΕͨจষੜ੒ͳͲʣɻ 🙅 ѱ͍ͱ͜Ζ • ຖճ͓ͳ͡จষΛੜ੒͢Δ •

    ߴ͍ස౓Ͱಉ͡ϑϨʔζΛ܁Γฦ͢ϧʔϓʹؕΔɻ Greedy decoding ͷಛ௃
  11. • ֬཰෼෍ʹैͬͯϥϯμϜʹ୯ޠΛબ୒͢Δɻ Sampling ⾔ 語 機 械 … ⾔ 語

  12. ࣗવݴޠॲཧͱ͸ɺਓؒͷࣗવݴޠσʔλΛऩू͠ɺਪ࿦ΞϧΰϦζ ϜΛߏங͢Δ͜ͱɻ ਓ͕ؒձ࿩Λೝࣝɾݕࡧ͢Δࡍʹ͸ɺݴޠʹม ׵͞ΕΔ(ม׵ର৅ͷݴ༿)ɻ ӳޠ͸ɺෳ਺ͷޠΛؚΉಈࢺ͕͍ͭ͘ ͔ଘࡏ͕ͨ͠ɺӳޠ͸͜ΕΒΛಈࢺͱͯ͠ѻ͏ɻ ·ͨʮʙʙ͢Δʯ ͱ͍ͬͨӳޠΛɺ೔ຊޠͱΑ͘ࣅ͍ͯΔ୯ޠΛ༻͍Δɻ ·ͨ೔ຊޠ ͸ɺ୯ޠ͕୯ޠͷͭͳ͕ΓͰ۠੾ΒΕ͍ͯΔ͕ɺӳޠ͸۠੾Ε͓ͯΒ

    ͣɺ·ͨҙຯ͕ҧ͏৔߹͕͋Δɻ ྫ͑͹ʮʙ͠ʯͰ༗໊ͳΞϝϦΧ ӳޠɺΞϝϦΧӳޠΛʮseeʯͱ͍͏ͱɺʮseeʯͱʮseeʯͷൃԻ ͕ҧ͍ɺʮseeʯ͕ʮ-ʯʮ-seeʯʹͳΔɺͳͲ͕͋Δɻ ·ͨɺݴ ༿ͷ੒Γ্ཱͪɺಉ͡ݴޠͰ΋ҟͳΔҙຯΛ΋ͭ΋ͷ͕ଘࡏ͢Δɻ ग़ྗྫ rinna/japanese-gpt2-medium {“do_sample”: True}
  13. 🙆 ྑ͍ͱ͜Ζ • ଟ༷ͳจষΛੜ੒͢Δ͜ͱ͕Ͱ͖Δɻ 🙅 ѱ͍ͱ͜Ζ • ͨ·ʹ௿͗͢Δ֬཰ͷ୯ޠΛग़ྗͯ͠͠·͏ͱɺจষͷҰ ؏ੑ͕ଛͳΘΕΔɻ Sampling

    ͷಛ௃
  14. • ֬཰෼෍ͷ top-k ͔ΒϥϯμϜʹ୯ޠΛબ୒͢Δɻ Top-k sampling ⾔ 語 機 械

    … ⾔ 語
  15. ࣗવݴޠॲཧͱ͸ɺࣗવݴޠॲཧͱ͸ɺࣗવݴޠ͔Β௚઀ϓϩάϥϜ Λߏ੒͠ɺ֤छूܭ݁Ռ(ίϝϯτɺίϝϯτೖྗͷॲཧ)Λϓϩάϥ Ϝʹݻ༗ͷ໊લΛ͚ͭͯอଘ͠ɺ͔ͦ͜Βݺͼग़͞Ε࣮ͨߦϓϩάϥ Ϝ͸ࣗಈతʹϓϩάϥϜͷ࣮ߦ݁ՌʹదԠ͢Δ͜ͱ͕Ͱ͖Δ͜ͱͰ͋ Δɻ ݴޠॲཧɺࣗવݴޠॲཧ͸େ͖͘෼͚ͯ4ͭͷ෼໺ʹஔ͔Ε Δɻ 1ͭ໨͸ʮݴޠॲཧʯͰ͋Γɺ͜Εʹؔ͢Δઐ໳༻ޠͱͯ͠ʮࣗ વݴޠॲཧʯ(nlog)ͱ͍͏ݺশ͕༻͍ΒΕΔɻ ֎෦΁ͷग़ྗΛॲཧ

    ͢Δݴޠॲཧɺ৘ใͷத͔Β৘ใͷσʔλΛ෼ੳ͢Δݴޠॲཧɺػց ֶशɺ͞ΒʹσʔλϕʔεΛ࡞Δͱ͖ͷ͋Δछͷapiʹա͗ͳ͍γε ςϜݴޠ͕͋Δɻ 2ͭ໨͸ʮݴޠॲཧʯͰ͋Γɺ͜͜Ͱ͸೔ຊޠΛओ ͱͨ͠ݴޠΛॲཧ͢ΔݴޠॲཧΛࢦ͢ɻ ग़ྗྫ rinna/japanese-gpt2-medium {“do_sample”: True, “top_k”: 800}
  16. 🙆 ྑ͍ͱ͜Ζ • ଟ༷ͳจষΛੜ੒͢Δ͜ͱ͕Ͱ͖Δɻ • ֬཰ͷ௿͍બ୒ࢶΛ੾ΓࣺͯΔͷͰɺ׬શͳϥϯμϜΑΓ͔͸ Ұ؏ੑͷ͋Δ΋ͷΛੜ੒͢Δɻ 🙅 ѱ͍ͱ͜Ζ •

    Ͳ͏΍ͬͯ k ΛબΜͰ͍͍͔Α͘Θ͔Βͳ͍ɻ • k ʹΑͬͯ͸ɺ֬཰ͷ௿͗͢Δબ୒ࢶ͕࢒Δ͜ͱʹͳΔɻ Top-k sampling ͷಛ௃
  17. • ֬཰෼෍ͷྦྷੵ࿨͕ p Λஸ౓ӽ͑Δͱ͜Ζ·ͰΛબ୒ࢶʹɺɹɹ ϥϯμϜʹ୯ޠΛબ୒͢Δɻ Top-p sampling ⾔ 語 機

    械 … ⾔ 語
  18. ࣗવݴޠॲཧͱ͸ɺίϯϐϡʔλʔʹݴ༿΍ݴ༿ͷҙຯΛਪ࿦͞ ͤΔΑ͏ʹϓϩάϥϜ͢Δ͜ͱɻ ਓ͕ؒࣗવʹߦ͍ͬͯΔΑ͏ ʹɺػց͕ίϯϐϡʔλʔͷࢥߟͷσʔλΛૢ࡞͢Δͷʹ͸ɺί ϯϐϡʔλ্ͰਓؒͷΑ͏ͳߦಈΛ͢Δਓ޻஌ೳͳͲ͕ඞཁʹͳ Δɻ ࣗવݴޠॲཧ͸ɺओʹਓ͕ؒߦ͏ʮߟ͑Δʯ͜ͱΛαϙʔτ ͢ΔΑ͏ʹ։ൃ͞Εͨɻ ྫ͑͹ɺจষ΍ਤܗͷσʔλΛίϯ ϐϡʔλʹॲཧͤ͞ΔͱɺͦͷσʔλΛίϯϐϡʔλʹอଘ͠

    ͯɺ͋ͱ͸ਓؒͷΑ͏ʹػց͕উखʹॲཧ͢Δɻ ίϯϐϡʔλͰ ਓؒͷΑ͏ͳ͜ͱΛ͢Δͱɺίϯϐϡʔλ͕ͦͷϓϩάϥϜΛ࣮ ߦ͢Δͨͼʹͦͷσʔλ͕ॻ͖׵͑ΒΕͯ͠·͏ͷͰɺਓؒ͸ਓ ؒͱͯ͠ػցʹ໋ྩ͢Δ͜ͱ͸Ͱ͖ͳ͘ͳΔɻ ग़ྗྫ rinna/japanese-gpt2-medium {“do_sample”: True, “top_p”: 0.9}
  19. 🙆 ྑ͍ͱ͜Ζ • ଟ༷ͳจষΛੜ੒͢Δ͜ͱ͕Ͱ͖Δɻ • ֬཰ͷ௿͍બ୒ࢶΛ੾ΓࣺͯΔͷͰɺ׬શͳϥϯμϜΑΓ͔ ͸Ұ؏ੑͷ͋Δ΋ͷΛੜ੒͢Δɻ • ֬཰෼෍ʹ߹Θͤͯબ୒ࢶΛௐઅͰ͖Δɻ 🙅

    ѱ͍ͱ͜Ζ • Ͳ͏΍ͬͯ p ΛબΜͰ͍͍͔Α͘Θ͔Βͳ͍ɻ Top-p sampling ͷಛ௃
  20. Top-k vs. Top-p Top-k sampling Top-p sampling ෼෍ͷܗʹ߹Θͤͯ બ୒ࢶΛௐ੔ͯ͘͠ΕΔɻ ͲΜͳ෼෍Ͱ΋ಉ͡

    top-kɻ → ྑ͍બ୒ࢶΛऔΓಀ͕ͨ͠Γɺ ѱ͍બ୒ࢶΛؚΊͯ͠·͏Մೳੑ ͕͋Δɻ
  21. None
  22. Surprisal Λࢦఆͯ͠จষͷੜ੒͕Ͱ͖ΔΞϧΰϦζϜɻ MIROSTAT * Surprisal ͷࢦ਺ΛऔΕ͹ Perplexity ʹͳΔɻ ࿦จதͰ͸ Surprisal

    ͱಉ౳ͷྔ͕ɺओʹ Cross-entropy ͱݺ͹Ε͍ͯΔɻ
  23. ͜͜Ͱ͸ɺݴޠϞσϧͷ༧ଌΛ༩͑ΒΕͨͱ͖ʹɺ ࣮ࡍʹग़ྗͨ͠τʔΫϯͷҙ֎͞ͱଊ͑Δ͜ͱ͕Ͱ͖Δɻ Surprisal ͱ͸ʁ S(xt ) = − log pLM

    (xt |x<t ) S(x) pLM
  24. จϨϕϧͷ surprisal ͸֤୯ޠͷ surprisal ͷฏۉɻ Surprisal ͱ͸ʁ S(X) = −

    1 n n ∑ t log pLM (xt |x<t ) X = {x1 , . . . , xn }
  25. ͳͥ surprisal Λίϯτϩʔϧ͍ͨ͠ͷ͔ʁ จষͷ suprisal ͕௿͗͢Δͱ… ⤵ • ͋Γ͖ͨΓͳ಺༰ʹͳΓ͕ͪ •

    ୯ޠͷ܁Γฦ͕͠ݱΕΔΑ͏ʹͳΔ จষͷ suprisal ͕ߴ͗͢Δͱ… ⤴ • શମͷҰ؏ੑ͕ଛͳΘΕ͕ͪ
  26. Ϟσϧ͸ rinna/japanese-gpt2-mediumɻ จ຺ͱͯ͠ҎԼͷจষΛ࠷ॳʹϞσϧʹೖྗ͢Δɻ ͍Ζ͍Ζੜ੒ͯ͠ΈΔ 第2次⼤戦中 、英国 ・ ⾳声通信 暗号化 取

    組 、⽶国 暗号理論 ⼈⼯知能 研究 先 。 電信電話 時代 、情報 統計分析 基 、帯域幅 拡⼤ CD、DVD、 放送 可能 、 上 世界 広 理論的 ⽰ 。
  27. top-p sampling (p = 0.7) ࠷ॳ͸͍͍ײ͕ͩ͡… 、次 述 。「通信 ⾼速

    性 、仮想的 ⼈間 能⼒ 限界 超 。 、 能⼒ 、⼈間 知性 超 」。 研究 、⾳声認識 画像認識 実験的 ⾏ 、 分野 応⽤可能 ⼈⼯知能(ai) 提⽰ 。 surprisal 100 step ʹΘͨΔ Ҡಈฏۉ஋ ʢ ) time step
  28. top-p sampling (p = 0.7) surprisal ͕௿͘ͳΔͱ୯ޠΛ܁Γฦ͢Α͏ʹͳΔ 、 、⼈間 理解

    超 、⼈間 知性 超 、 述 。 、 、⼈間 理解 超 、⼈間 知性 超 、 述 。 、⼈⼯知能(ai) 、 surprisal 100 step ʹΘͨΔ Ҡಈฏۉ஋ ʢ ) time step
  29. top-p sampling (p = 0.9) ࠷ॳ͸τϐοΫʹԊ͍ͬͯΔ͕… surprisal 100 step ʹΘͨΔ

    Ҡಈฏۉ஋ ʢ ) time step 、 基盤 普及 、世界中 情報 ⼊ 来 、⼈間 情報 分 合 問題(複⾏性) 発⽣ 。
  30. top-p sampling (p = 0.9) ޙ൒͸΍΍ҧ͏࿩୊ʹ surprisal 100 step ʹΘͨΔ

    Ҡಈฏۉ஋ ʢ ) time step 坂本⽒ 、発電所 ⾵⼒ 太陽光 両⽅ 運 転 、電⼒ 割合 平均1% 以下 落 。 、製造 難 、電⼒会社 安価 「 発電」 採⽤ 。
  31. MIROSTAT ͷΞϧΰϦζϜ ੜ੒͢Δจষ͕ɺશମͱͯ͠ࢦఆͨ͠ surprisal Λ࣋ͭΑ ͏ʹ୯ޠΛग़ྗ͍ͯ͘͠ɻ ͦͷͨΊʹ… • ֤λΠϜεςοϓͰ top-k

    sampling Λ͢Δ͕ɺk Λຖ ճௐ੔͢Δɻ • લͷग़ྗͷ surprisal ʹԠͯ࣍͡ͷ k Λௐઅ͢Δɻ - લʹҙ֎ͳ୯ޠΛग़ͨ͠Β࣍͸͋Γ͖ͨΓͳ΋ͷΛɻ - લʹ͋Γ͖ͨΓͳ୯ޠΛग़ͨ͠Β࣍͸ҙ֎ͳ୯ޠ΋ग़ͤΔΑ͏ʹɻ
  32. ύϥϝʔλ จશମͷ surprisal: ݱλΠϜεςοϓͷ࠷େ surprisal ͷॳظ஋: MIROSTAT ͷΞϧΰϦζϜ ֤λΠϜεςοϓ t

    Ͱ… ᶃ k ൪໨ͷ୯ޠͷ surprisal ͕ ʹͳΔΑ͏ʹ top-k ͷ k Λௐ੔ ᶄ ୯ޠ Λ top-k sampling Ͱग़ྗ ᶅ ͷ surprisal Λ΋ͱʹ Λௐ੔: τ μ0 μt+1 = μt − (S(xt ) − τ) xt μt+1 xt μt
  33. MIROSTAT ͷΞϧΰϦζϜ S(xk t ) ≒ μt xt μt+1 =

    μt − (S(xt ) − τ) ᶃ ᶄ ᶅ
  34. MIROSTAT (target_surprisal=3.0) surprisal 100 step ʹΘͨΔ Ҡಈฏۉ஋ ʢ ) time

    step 1975年 電⼦通信学会(aec) 創⽴ 、 初代会⻑ 。 後1989年 電⼦通信学会 aec 脱退 、2007年 ieee society of computers 。
  35. MIROSTAT (target_surprisal=3.0) surprisal 100 step ʹΘͨΔ Ҡಈฏۉ஋ ʢ ) time

    step 「第2 aec」 構築 計画 、5年後 1999年 ibm aac 、access 「 ・ 」 命名 。 、 、協業 ⽶hp社(現・hp社) 移植 。
  36. ݁ہɺੜ੒͞ΕͨจষͷΫΦϦςΟ͸Ͳ͏ͳͷʁ ຊ࿦จ Figure 6 (c) ΑΓҾ༻ɻଞͷࢦඪ (fluency, coherence ͳͲʹ͍ͭͯ΋ಉ༷ͷ܏޲ɻ) tuning

    ͞Εͨ top-p ͱಉ͡ɻ
  37. • ੜ੒͞Εͨจষͷ surprisal ͸ɺͦͷจষͷಛ௃Λࣔ͢ॏཁͳࢦඪͱͳΔɻ • MIROSTAT ͸ suprisal Λίϯτϩʔϧͯ͠จষΛੜ੒͢Δख๏ɻ •

    top-p ΍ top-k ΑΓ΋ύϥϝʔλͷҙຯ͕௚ײతʹΘ͔Δɻ • ύϥϝʔλΛνϡʔχϯάͯ͠ൺֱ͢ΔͱɺจষͷΫΦϦςΟ͸ top-p sampling ͱେࠩͳ͍ɻ ·ͱΊ
  38. • top-k ΍ top-p ͷΑ͏ʹώϡʔϦεςΟοΫʹ୯ޠ෼෍Λ͍͡ΔͷͰ͸ͳ͘ɺ ચ࿅͞ΕͨσίʔσΟϯάख๏΁ͷൃలΛײ͡Δɻ • ੜ੒͞Εͨจষͷ඼࣭ࣗମ͸طଘख๏ͱมΘΒͳ͍ͷ͸࢒೦͕ͩɺ͜ΕΛૅʹ ༗༻ͳख๏ͷ։ൃ͕ظ଴Ͱ͖Δɻ -

    surprisal Ͱ͸ͳ͘ଞͷࢦඪʢจষͷτϐοΫ΍ײ৘ͳͲʣΛίϯτϩʔϧ ͯ͠ͷσίʔσΟϯάɺͳͲԠ༻͕ޮ͖ͦ͏ͳΞΠσΟΞͰ͋Δɻ ॴײ
  39. ຊൃදͰ༻͍ͨίʔυ͸ҎԼͷϨϙδτϦʹ https://github.com/Ryou0634/nlp_hacks_mirostat ࣮૷

  40. ɾTop-k sampling Hierarchical Neural Story Generation, Angela Fan, Mike Lewis,

    Yann Dauphin, ACL 2018. ɾTop-p (Nucleus) sampling The Curious Case of Neural Text Degeneration, Ari Holtzman, Jan Buys, Li Du, Maxwell Forbes, Yejin Choi, ICLR 2020. ɾMIROSTAT MIROSTAT: A NEURAL TEXT DECODING ALGORITHM THAT DIRECTLY CONTROLS PERPLEXITY, Sourya Basu ~Sourya_Basu1 , Govardana Sachitanandam Ramachandran, Nitish Shirish Keskar, Lav R. Varshney, ICLR 2021. ࢀߟจݙ
  41. ࿦จͷϝΠϯͰઆ໌͞Ε͍ͯΔΞϧΰϦζϜɺ͓Αͼ Github ͷஶऀ࣮૷ Ͱ͸ɺk ͷܭࢉʹ୯ޠͷස౓෼෍͕ zipf ଇʹै͏ͱ͍͏ԾఆΛར༻ɻ ➡︎ ਖ਼௚͜Ε͸ෆඞཁͳԾఆͰɺ࿦จͷઆ໌Λ΍΍͍ͯ͘͜͠͠Δؾ͕… Appendix

    ʹ zipf ଇΛԾఆ͠ͳ͍γϯϓϧͳΞϧΰϦζϜΛࡌ͍ͤͯΔɻ ੑೳ͸ಉ͡ɻϝΠϯͷΞϧΰϦζϜͷํ͕গ͠଎͍ͱ͍͏͕ඍʑͨΔࠩɻ ิ଍ɿMIROSTAT ͷ k ͷܭࢉ