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

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

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Ryokan RI Ryokan RI
March 07, 2022

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

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

Avatar for Ryokan RI

Ryokan RI

March 07, 2022
Tweet

More Decks by Ryokan RI

Other Decks in Technology

Transcript

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

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

    ͣɺ·ͨҙຯ͕ҧ͏৔߹͕͋Δɻ ྫ͑͹ʮʙ͠ʯͰ༗໊ͳΞϝϦΧ ӳޠɺΞϝϦΧӳޠΛʮseeʯͱ͍͏ͱɺʮseeʯͱʮseeʯͷൃԻ ͕ҧ͍ɺʮseeʯ͕ʮ-ʯʮ-seeʯʹͳΔɺͳͲ͕͋Δɻ ·ͨɺݴ ༿ͷ੒Γ্ཱͪɺಉ͡ݴޠͰ΋ҟͳΔҙຯΛ΋ͭ΋ͷ͕ଘࡏ͢Δɻ ग़ྗྫ rinna/japanese-gpt2-medium {“do_sample”: True}
  3. ࣗવݴޠॲཧͱ͸ɺࣗવݴޠॲཧͱ͸ɺࣗવݴޠ͔Β௚઀ϓϩάϥϜ Λߏ੒͠ɺ֤छूܭ݁Ռ(ίϝϯτɺίϝϯτೖྗͷॲཧ)Λϓϩάϥ Ϝʹݻ༗ͷ໊લΛ͚ͭͯอଘ͠ɺ͔ͦ͜Βݺͼग़͞Ε࣮ͨߦϓϩάϥ Ϝ͸ࣗಈతʹϓϩάϥϜͷ࣮ߦ݁ՌʹదԠ͢Δ͜ͱ͕Ͱ͖Δ͜ͱͰ͋ Δɻ ݴޠॲཧɺࣗવݴޠॲཧ͸େ͖͘෼͚ͯ4ͭͷ෼໺ʹஔ͔Ε Δɻ 1ͭ໨͸ʮݴޠॲཧʯͰ͋Γɺ͜Εʹؔ͢Δઐ໳༻ޠͱͯ͠ʮࣗ વݴޠॲཧʯ(nlog)ͱ͍͏ݺশ͕༻͍ΒΕΔɻ ֎෦΁ͷग़ྗΛॲཧ

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

    Ͳ͏΍ͬͯ k ΛબΜͰ͍͍͔Α͘Θ͔Βͳ͍ɻ • k ʹΑͬͯ͸ɺ֬཰ͷ௿͗͢Δબ୒ࢶ͕࢒Δ͜ͱʹͳΔɻ Top-k sampling ͷಛ௃
  5. ࣗવݴޠॲཧͱ͸ɺίϯϐϡʔλʔʹݴ༿΍ݴ༿ͷҙຯΛਪ࿦͞ ͤΔΑ͏ʹϓϩάϥϜ͢Δ͜ͱɻ ਓ͕ؒࣗવʹߦ͍ͬͯΔΑ͏ ʹɺػց͕ίϯϐϡʔλʔͷࢥߟͷσʔλΛૢ࡞͢Δͷʹ͸ɺί ϯϐϡʔλ্ͰਓؒͷΑ͏ͳߦಈΛ͢Δਓ޻஌ೳͳͲ͕ඞཁʹͳ Δɻ ࣗવݴޠॲཧ͸ɺओʹਓ͕ؒߦ͏ʮߟ͑Δʯ͜ͱΛαϙʔτ ͢ΔΑ͏ʹ։ൃ͞Εͨɻ ྫ͑͹ɺจষ΍ਤܗͷσʔλΛίϯ ϐϡʔλʹॲཧͤ͞ΔͱɺͦͷσʔλΛίϯϐϡʔλʹอଘ͠

    ͯɺ͋ͱ͸ਓؒͷΑ͏ʹػց͕উखʹॲཧ͢Δɻ ίϯϐϡʔλͰ ਓؒͷΑ͏ͳ͜ͱΛ͢Δͱɺίϯϐϡʔλ͕ͦͷϓϩάϥϜΛ࣮ ߦ͢Δͨͼʹͦͷσʔλ͕ॻ͖׵͑ΒΕͯ͠·͏ͷͰɺਓؒ͸ਓ ؒͱͯ͠ػցʹ໋ྩ͢Δ͜ͱ͸Ͱ͖ͳ͘ͳΔɻ ग़ྗྫ rinna/japanese-gpt2-medium {“do_sample”: True, “top_p”: 0.9}
  6. Top-k vs. Top-p Top-k sampling Top-p sampling ෼෍ͷܗʹ߹Θͤͯ બ୒ࢶΛௐ੔ͯ͘͠ΕΔɻ ͲΜͳ෼෍Ͱ΋ಉ͡

    top-kɻ → ྑ͍બ୒ࢶΛऔΓಀ͕ͨ͠Γɺ ѱ͍બ୒ࢶΛؚΊͯ͠·͏Մೳੑ ͕͋Δɻ
  7. จϨϕϧͷ surprisal ͸֤୯ޠͷ surprisal ͷฏۉɻ Surprisal ͱ͸ʁ S(X) = −

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

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

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

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

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

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

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

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

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

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

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

    step 「第2 aec」 構築 計画 、5年後 1999年 ibm aac 、access 「 ・ 」 命名 。 、 、協業 ⽶hp社(現・hp社) 移植 。
  19. • ੜ੒͞Εͨจষͷ surprisal ͸ɺͦͷจষͷಛ௃Λࣔ͢ॏཁͳࢦඪͱͳΔɻ • MIROSTAT ͸ suprisal Λίϯτϩʔϧͯ͠จষΛੜ੒͢Δख๏ɻ •

    top-p ΍ top-k ΑΓ΋ύϥϝʔλͷҙຯ͕௚ײతʹΘ͔Δɻ • ύϥϝʔλΛνϡʔχϯάͯ͠ൺֱ͢ΔͱɺจষͷΫΦϦςΟ͸ top-p sampling ͱେࠩͳ͍ɻ ·ͱΊ
  20. ɾ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. ࢀߟจݙ
  21. ࿦จͷϝΠϯͰઆ໌͞Ε͍ͯΔΞϧΰϦζϜɺ͓Αͼ Github ͷஶऀ࣮૷ Ͱ͸ɺk ͷܭࢉʹ୯ޠͷස౓෼෍͕ zipf ଇʹै͏ͱ͍͏ԾఆΛར༻ɻ ➡︎ ਖ਼௚͜Ε͸ෆඞཁͳԾఆͰɺ࿦จͷઆ໌Λ΍΍͍ͯ͘͜͠͠Δؾ͕… Appendix

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