Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

•Greedy decoding •Sampling •Top-k sampling •Top-p sampling (Nucleus sampling) •MIROSTAT ֬཰෼෍͔Β୯ޠΛબͿख๏

Slide 8

Slide 8 text

• ຖεςοϓ͝ͱʹ࠷΋֬཰͕ߴ͍୯ޠΛબͿɻ Greedy decoding ⾔ 語 機 械 …

Slide 9

Slide 9 text

ࣗવݴޠॲཧͱ͸ɺࣗવݴޠΛॲཧ͢Δٕज़Ͱ͋Δɻ ࣗવݴޠॲཧͱ ͸ɺࣗવݴޠΛॲཧ͢Δٕज़Ͱ͋Δɻ ࣗવݴޠॲཧͱ͸ɺࣗવݴޠΛ ॲཧ͢Δٕज़Ͱ͋Δɻ ࣗવݴޠॲཧͱ͸ɺࣗવݴޠΛॲཧ͢Δٕज़Ͱ ͋Δɻ ࣗવݴޠॲཧͱ͸ɺࣗવݴޠΛॲཧ͢Δٕज़Ͱ͋Δɻ ࣗવݴޠ ॲཧͱ͸ɺࣗવݴޠΛॲཧ͢Δٕज़Ͱ͋Δɻ ࣗવݴޠॲཧͱ͸ɺࣗવ ݴޠΛॲཧ͢Δٕज़Ͱ͋Δɻ ࣗવݴޠॲཧͱ͸ɺࣗવݴޠΛॲཧ͢Δ ٕज़Ͱ͋Δɻ ࣗવݴޠॲཧͱ͸ɺࣗવݴޠΛॲཧ͢Δٕज़Ͱ͋Δɻ ࣗ વݴޠॲཧͱ͸ɺࣗવݴޠΛॲཧ͢Δٕज़Ͱ͋Δɻ ࣗવݴޠॲཧͱ ͸ɺࣗવݴޠΛॲཧ͢Δٕज़Ͱ͋Δɻ ࣗવݴޠॲཧͱ͸ɺࣗવݴޠΛ ॲཧ͢Δٕज़Ͱ͋Δɻ ࣗવݴޠॲཧͱ͸ɺࣗવݴޠΛॲཧ͢Δٕज़Ͱ ͋Δɻ ग़ྗྫ rinna/japanese-gpt2-medium {“num_beams”: True}

Slide 10

Slide 10 text

🙆 ྑ͍ͱ͜Ζ • ੜ੒ͷ༻్ʹΑͬͯ͸͏·͍͘͘ʢػց຋༁ͳͲɺڧ͘৚ ݅෇͚ΒΕͨจষੜ੒ͳͲʣɻ 🙅 ѱ͍ͱ͜Ζ • ຖճ͓ͳ͡จষΛੜ੒͢Δ • ߴ͍ස౓Ͱಉ͡ϑϨʔζΛ܁Γฦ͢ϧʔϓʹؕΔɻ Greedy decoding ͷಛ௃

Slide 11

Slide 11 text

• ֬཰෼෍ʹैͬͯϥϯμϜʹ୯ޠΛબ୒͢Δɻ Sampling ⾔ 語 機 械 … ⾔ 語

Slide 12

Slide 12 text

ࣗવݴޠॲཧͱ͸ɺਓؒͷࣗવݴޠσʔλΛऩू͠ɺਪ࿦ΞϧΰϦζ ϜΛߏங͢Δ͜ͱɻ ਓ͕ؒձ࿩Λೝࣝɾݕࡧ͢Δࡍʹ͸ɺݴޠʹม ׵͞ΕΔ(ม׵ର৅ͷݴ༿)ɻ ӳޠ͸ɺෳ਺ͷޠΛؚΉಈࢺ͕͍ͭ͘ ͔ଘࡏ͕ͨ͠ɺӳޠ͸͜ΕΒΛಈࢺͱͯ͠ѻ͏ɻ ·ͨʮʙʙ͢Δʯ ͱ͍ͬͨӳޠΛɺ೔ຊޠͱΑ͘ࣅ͍ͯΔ୯ޠΛ༻͍Δɻ ·ͨ೔ຊޠ ͸ɺ୯ޠ͕୯ޠͷͭͳ͕ΓͰ۠੾ΒΕ͍ͯΔ͕ɺӳޠ͸۠੾Ε͓ͯΒ ͣɺ·ͨҙຯ͕ҧ͏৔߹͕͋Δɻ ྫ͑͹ʮʙ͠ʯͰ༗໊ͳΞϝϦΧ ӳޠɺΞϝϦΧӳޠΛʮseeʯͱ͍͏ͱɺʮseeʯͱʮseeʯͷൃԻ ͕ҧ͍ɺʮseeʯ͕ʮ-ʯʮ-seeʯʹͳΔɺͳͲ͕͋Δɻ ·ͨɺݴ ༿ͷ੒Γ্ཱͪɺಉ͡ݴޠͰ΋ҟͳΔҙຯΛ΋ͭ΋ͷ͕ଘࡏ͢Δɻ ग़ྗྫ rinna/japanese-gpt2-medium {“do_sample”: True}

Slide 13

Slide 13 text

🙆 ྑ͍ͱ͜Ζ • ଟ༷ͳจষΛੜ੒͢Δ͜ͱ͕Ͱ͖Δɻ 🙅 ѱ͍ͱ͜Ζ • ͨ·ʹ௿͗͢Δ֬཰ͷ୯ޠΛग़ྗͯ͠͠·͏ͱɺจষͷҰ ؏ੑ͕ଛͳΘΕΔɻ Sampling ͷಛ௃

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

ࣗવݴޠॲཧͱ͸ɺࣗવݴޠॲཧͱ͸ɺࣗવݴޠ͔Β௚઀ϓϩάϥϜ Λߏ੒͠ɺ֤छूܭ݁Ռ(ίϝϯτɺίϝϯτೖྗͷॲཧ)Λϓϩάϥ Ϝʹݻ༗ͷ໊લΛ͚ͭͯอଘ͠ɺ͔ͦ͜Βݺͼग़͞Ε࣮ͨߦϓϩάϥ Ϝ͸ࣗಈతʹϓϩάϥϜͷ࣮ߦ݁ՌʹదԠ͢Δ͜ͱ͕Ͱ͖Δ͜ͱͰ͋ Δɻ ݴޠॲཧɺࣗવݴޠॲཧ͸େ͖͘෼͚ͯ4ͭͷ෼໺ʹஔ͔Ε Δɻ 1ͭ໨͸ʮݴޠॲཧʯͰ͋Γɺ͜Εʹؔ͢Δઐ໳༻ޠͱͯ͠ʮࣗ વݴޠॲཧʯ(nlog)ͱ͍͏ݺশ͕༻͍ΒΕΔɻ ֎෦΁ͷग़ྗΛॲཧ ͢Δݴޠॲཧɺ৘ใͷத͔Β৘ใͷσʔλΛ෼ੳ͢Δݴޠॲཧɺػց ֶशɺ͞ΒʹσʔλϕʔεΛ࡞Δͱ͖ͷ͋Δछͷapiʹա͗ͳ͍γε ςϜݴޠ͕͋Δɻ 2ͭ໨͸ʮݴޠॲཧʯͰ͋Γɺ͜͜Ͱ͸೔ຊޠΛओ ͱͨ͠ݴޠΛॲཧ͢ΔݴޠॲཧΛࢦ͢ɻ ग़ྗྫ rinna/japanese-gpt2-medium {“do_sample”: True, “top_k”: 800}

Slide 16

Slide 16 text

🙆 ྑ͍ͱ͜Ζ • ଟ༷ͳจষΛੜ੒͢Δ͜ͱ͕Ͱ͖Δɻ • ֬཰ͷ௿͍બ୒ࢶΛ੾ΓࣺͯΔͷͰɺ׬શͳϥϯμϜΑΓ͔͸ Ұ؏ੑͷ͋Δ΋ͷΛੜ੒͢Δɻ 🙅 ѱ͍ͱ͜Ζ • Ͳ͏΍ͬͯ k ΛબΜͰ͍͍͔Α͘Θ͔Βͳ͍ɻ • k ʹΑͬͯ͸ɺ֬཰ͷ௿͗͢Δબ୒ࢶ͕࢒Δ͜ͱʹͳΔɻ Top-k sampling ͷಛ௃

Slide 17

Slide 17 text

• ֬཰෼෍ͷྦྷੵ࿨͕ p Λஸ౓ӽ͑Δͱ͜Ζ·ͰΛબ୒ࢶʹɺɹɹ ϥϯμϜʹ୯ޠΛબ୒͢Δɻ Top-p sampling ⾔ 語 機 械 … ⾔ 語

Slide 18

Slide 18 text

ࣗવݴޠॲཧͱ͸ɺίϯϐϡʔλʔʹݴ༿΍ݴ༿ͷҙຯΛਪ࿦͞ ͤΔΑ͏ʹϓϩάϥϜ͢Δ͜ͱɻ ਓ͕ؒࣗવʹߦ͍ͬͯΔΑ͏ ʹɺػց͕ίϯϐϡʔλʔͷࢥߟͷσʔλΛૢ࡞͢Δͷʹ͸ɺί ϯϐϡʔλ্ͰਓؒͷΑ͏ͳߦಈΛ͢Δਓ޻஌ೳͳͲ͕ඞཁʹͳ Δɻ ࣗવݴޠॲཧ͸ɺओʹਓ͕ؒߦ͏ʮߟ͑Δʯ͜ͱΛαϙʔτ ͢ΔΑ͏ʹ։ൃ͞Εͨɻ ྫ͑͹ɺจষ΍ਤܗͷσʔλΛίϯ ϐϡʔλʹॲཧͤ͞ΔͱɺͦͷσʔλΛίϯϐϡʔλʹอଘ͠ ͯɺ͋ͱ͸ਓؒͷΑ͏ʹػց͕উखʹॲཧ͢Δɻ ίϯϐϡʔλͰ ਓؒͷΑ͏ͳ͜ͱΛ͢Δͱɺίϯϐϡʔλ͕ͦͷϓϩάϥϜΛ࣮ ߦ͢Δͨͼʹͦͷσʔλ͕ॻ͖׵͑ΒΕͯ͠·͏ͷͰɺਓؒ͸ਓ ؒͱͯ͠ػցʹ໋ྩ͢Δ͜ͱ͸Ͱ͖ͳ͘ͳΔɻ ग़ྗྫ rinna/japanese-gpt2-medium {“do_sample”: True, “top_p”: 0.9}

Slide 19

Slide 19 text

🙆 ྑ͍ͱ͜Ζ • ଟ༷ͳจষΛੜ੒͢Δ͜ͱ͕Ͱ͖Δɻ • ֬཰ͷ௿͍બ୒ࢶΛ੾ΓࣺͯΔͷͰɺ׬શͳϥϯμϜΑΓ͔ ͸Ұ؏ੑͷ͋Δ΋ͷΛੜ੒͢Δɻ • ֬཰෼෍ʹ߹Θͤͯબ୒ࢶΛௐઅͰ͖Δɻ 🙅 ѱ͍ͱ͜Ζ • Ͳ͏΍ͬͯ p ΛબΜͰ͍͍͔Α͘Θ͔Βͳ͍ɻ Top-p sampling ͷಛ௃

Slide 20

Slide 20 text

Top-k vs. Top-p Top-k sampling Top-p sampling ෼෍ͷܗʹ߹Θͤͯ બ୒ࢶΛௐ੔ͯ͘͠ΕΔɻ ͲΜͳ෼෍Ͱ΋ಉ͡ top-kɻ → ྑ͍બ୒ࢶΛऔΓಀ͕ͨ͠Γɺ ѱ͍બ୒ࢶΛؚΊͯ͠·͏Մೳੑ ͕͋Δɻ

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

Surprisal Λࢦఆͯ͠จষͷੜ੒͕Ͱ͖ΔΞϧΰϦζϜɻ MIROSTAT * Surprisal ͷࢦ਺ΛऔΕ͹ Perplexity ʹͳΔɻ ࿦จதͰ͸ Surprisal ͱಉ౳ͷྔ͕ɺओʹ Cross-entropy ͱݺ͹Ε͍ͯΔɻ

Slide 23

Slide 23 text

͜͜Ͱ͸ɺݴޠϞσϧͷ༧ଌΛ༩͑ΒΕͨͱ͖ʹɺ ࣮ࡍʹग़ྗͨ͠τʔΫϯͷҙ֎͞ͱଊ͑Δ͜ͱ͕Ͱ͖Δɻ Surprisal ͱ͸ʁ S(xt ) = − log pLM (xt |x

Slide 24

Slide 24 text

จϨϕϧͷ surprisal ͸֤୯ޠͷ surprisal ͷฏۉɻ Surprisal ͱ͸ʁ S(X) = − 1 n n ∑ t log pLM (xt |x

Slide 25

Slide 25 text

ͳͥ surprisal Λίϯτϩʔϧ͍ͨ͠ͷ͔ʁ จষͷ suprisal ͕௿͗͢Δͱ… ⤵ • ͋Γ͖ͨΓͳ಺༰ʹͳΓ͕ͪ • ୯ޠͷ܁Γฦ͕͠ݱΕΔΑ͏ʹͳΔ จষͷ suprisal ͕ߴ͗͢Δͱ… ⤴ • શମͷҰ؏ੑ͕ଛͳΘΕ͕ͪ

Slide 26

Slide 26 text

Ϟσϧ͸ rinna/japanese-gpt2-mediumɻ จ຺ͱͯ͠ҎԼͷจষΛ࠷ॳʹϞσϧʹೖྗ͢Δɻ ͍Ζ͍Ζੜ੒ͯ͠ΈΔ 第2次⼤戦中 、英国 ・ ⾳声通信 暗号化 取 組 、⽶国 暗号理論 ⼈⼯知能 研究 先 。 電信電話 時代 、情報 統計分析 基 、帯域幅 拡⼤ CD、DVD、 放送 可能 、 上 世界 広 理論的 ⽰ 。

Slide 27

Slide 27 text

top-p sampling (p = 0.7) ࠷ॳ͸͍͍ײ͕ͩ͡… 、次 述 。「通信 ⾼速 性 、仮想的 ⼈間 能⼒ 限界 超 。 、 能⼒ 、⼈間 知性 超 」。 研究 、⾳声認識 画像認識 実験的 ⾏ 、 分野 応⽤可能 ⼈⼯知能(ai) 提⽰ 。 surprisal 100 step ʹΘͨΔ Ҡಈฏۉ஋ ʢ ) time step

Slide 28

Slide 28 text

top-p sampling (p = 0.7) surprisal ͕௿͘ͳΔͱ୯ޠΛ܁Γฦ͢Α͏ʹͳΔ 、 、⼈間 理解 超 、⼈間 知性 超 、 述 。 、 、⼈間 理解 超 、⼈間 知性 超 、 述 。 、⼈⼯知能(ai) 、 surprisal 100 step ʹΘͨΔ Ҡಈฏۉ஋ ʢ ) time step

Slide 29

Slide 29 text

top-p sampling (p = 0.9) ࠷ॳ͸τϐοΫʹԊ͍ͬͯΔ͕… surprisal 100 step ʹΘͨΔ Ҡಈฏۉ஋ ʢ ) time step 、 基盤 普及 、世界中 情報 ⼊ 来 、⼈間 情報 分 合 問題(複⾏性) 発⽣ 。

Slide 30

Slide 30 text

top-p sampling (p = 0.9) ޙ൒͸΍΍ҧ͏࿩୊ʹ surprisal 100 step ʹΘͨΔ Ҡಈฏۉ஋ ʢ ) time step 坂本⽒ 、発電所 ⾵⼒ 太陽光 両⽅ 運 転 、電⼒ 割合 平均1% 以下 落 。 、製造 難 、電⼒会社 安価 「 発電」 採⽤ 。

Slide 31

Slide 31 text

MIROSTAT ͷΞϧΰϦζϜ ੜ੒͢Δจষ͕ɺશମͱͯ͠ࢦఆͨ͠ surprisal Λ࣋ͭΑ ͏ʹ୯ޠΛग़ྗ͍ͯ͘͠ɻ ͦͷͨΊʹ… • ֤λΠϜεςοϓͰ top-k sampling Λ͢Δ͕ɺk Λຖ ճௐ੔͢Δɻ • લͷग़ྗͷ surprisal ʹԠͯ࣍͡ͷ k Λௐઅ͢Δɻ - લʹҙ֎ͳ୯ޠΛग़ͨ͠Β࣍͸͋Γ͖ͨΓͳ΋ͷΛɻ - લʹ͋Γ͖ͨΓͳ୯ޠΛग़ͨ͠Β࣍͸ҙ֎ͳ୯ޠ΋ग़ͤΔΑ͏ʹɻ

Slide 32

Slide 32 text

ύϥϝʔλ จશମͷ surprisal: ݱλΠϜεςοϓͷ࠷େ surprisal ͷॳظ஋: MIROSTAT ͷΞϧΰϦζϜ ֤λΠϜεςοϓ t Ͱ… ᶃ k ൪໨ͷ୯ޠͷ surprisal ͕ ʹͳΔΑ͏ʹ top-k ͷ k Λௐ੔ ᶄ ୯ޠ Λ top-k sampling Ͱग़ྗ ᶅ ͷ surprisal Λ΋ͱʹ Λௐ੔: τ μ0 μt+1 = μt − (S(xt ) − τ) xt μt+1 xt μt

Slide 33

Slide 33 text

MIROSTAT ͷΞϧΰϦζϜ S(xk t ) ≒ μt xt μt+1 = μt − (S(xt ) − τ) ᶃ ᶄ ᶅ

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

MIROSTAT (target_surprisal=3.0) surprisal 100 step ʹΘͨΔ Ҡಈฏۉ஋ ʢ ) time step 「第2 aec」 構築 計画 、5年後 1999年 ibm aac 、access 「 ・ 」 命名 。 、 、協業 ⽶hp社(現・hp社) 移植 。

Slide 36

Slide 36 text

݁ہɺੜ੒͞ΕͨจষͷΫΦϦςΟ͸Ͳ͏ͳͷʁ ຊ࿦จ Figure 6 (c) ΑΓҾ༻ɻଞͷࢦඪ (fluency, coherence ͳͲʹ͍ͭͯ΋ಉ༷ͷ܏޲ɻ) tuning ͞Εͨ top-p ͱಉ͡ɻ

Slide 37

Slide 37 text

• ੜ੒͞Εͨจষͷ surprisal ͸ɺͦͷจষͷಛ௃Λࣔ͢ॏཁͳࢦඪͱͳΔɻ • MIROSTAT ͸ suprisal Λίϯτϩʔϧͯ͠จষΛੜ੒͢Δख๏ɻ • top-p ΍ top-k ΑΓ΋ύϥϝʔλͷҙຯ͕௚ײతʹΘ͔Δɻ • ύϥϝʔλΛνϡʔχϯάͯ͠ൺֱ͢ΔͱɺจষͷΫΦϦςΟ͸ top-p sampling ͱେࠩͳ͍ɻ ·ͱΊ

Slide 38

Slide 38 text

• top-k ΍ top-p ͷΑ͏ʹώϡʔϦεςΟοΫʹ୯ޠ෼෍Λ͍͡ΔͷͰ͸ͳ͘ɺ ચ࿅͞ΕͨσίʔσΟϯάख๏΁ͷൃలΛײ͡Δɻ • ੜ੒͞Εͨจষͷ඼࣭ࣗମ͸طଘख๏ͱมΘΒͳ͍ͷ͸࢒೦͕ͩɺ͜ΕΛૅʹ ༗༻ͳख๏ͷ։ൃ͕ظ଴Ͱ͖Δɻ - surprisal Ͱ͸ͳ͘ଞͷࢦඪʢจষͷτϐοΫ΍ײ৘ͳͲʣΛίϯτϩʔϧ ͯ͠ͷσίʔσΟϯάɺͳͲԠ༻͕ޮ͖ͦ͏ͳΞΠσΟΞͰ͋Δɻ ॴײ

Slide 39

Slide 39 text

ຊൃදͰ༻͍ͨίʔυ͸ҎԼͷϨϙδτϦʹ https://github.com/Ryou0634/nlp_hacks_mirostat ࣮૷

Slide 40

Slide 40 text

ɾ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. ࢀߟจݙ

Slide 41

Slide 41 text

࿦จͷϝΠϯͰઆ໌͞Ε͍ͯΔΞϧΰϦζϜɺ͓Αͼ Github ͷஶऀ࣮૷ Ͱ͸ɺk ͷܭࢉʹ୯ޠͷස౓෼෍͕ zipf ଇʹै͏ͱ͍͏ԾఆΛར༻ɻ ➡︎ ਖ਼௚͜Ε͸ෆඞཁͳԾఆͰɺ࿦จͷઆ໌Λ΍΍͍ͯ͘͜͠͠Δؾ͕… Appendix ʹ zipf ଇΛԾఆ͠ͳ͍γϯϓϧͳΞϧΰϦζϜΛࡌ͍ͤͯΔɻ ੑೳ͸ಉ͡ɻϝΠϯͷΞϧΰϦζϜͷํ͕গ͠଎͍ͱ͍͏͕ඍʑͨΔࠩɻ ิ଍ɿMIROSTAT ͷ k ͷܭࢉ