Pro Yearly is on sale from $80 to $50! »

TensorFlow のドキュメント翻訳を行うコミュニティ活動について

8fa31051503b09846584c49cd53d2f80?s=47 Asei Sugiyama
December 14, 2019

TensorFlow のドキュメント翻訳を行うコミュニティ活動について

GDG DevFest 2019 での登壇資料です https://tokyo.gdgjapan.org/devfest2019

8fa31051503b09846584c49cd53d2f80?s=128

Asei Sugiyama

December 14, 2019
Tweet

Transcript

  1. TensorFlow のドキュメント翻訳を行う コミュニティ活動について

  2. 杉山 阿聖 Software Engineer @ Repro AI Labs 機械学習, 統計,

    R&D, 開発 TensorFlow Docs 翻訳 & レビュー 翻訳:Performance with tf.function レビュー: Tutorials などなど 機械学習図鑑 共著
  3. https://japan.googleblog.com/2019/12/books-for-students.html 3

  4. 1. イメージが伝わるようにする Web エンジニアが雰囲気をわかる 厳密さよりもわかりやすさ 2. 数式を用いた詳細な記述は行わない 日本語と図で頑張る 機械学習図鑑 4

  5. ご推薦いただき本当にありがとうございました

  6. TensorFlow のドキュメント翻訳を行う コミュニティ活動について

  7. ドキュメント翻訳は楽しい 1. TensorFlow について詳しくなれる 2. コミュニティで知識を交換しあえる 3. 世界を変えることができる 今日お伝えしたいこと 7

  8. Contents 1. TensorFlow docs の翻訳について <- 2. 翻訳の楽しさについて 3. 翻訳活動の難しさについて

  9. 1. TensorFlow docs とは 2. TensorFlow docs の翻訳活動について 3. 日本コミュニティでのこれまでの活動について

    TensorFlow docs の翻訳について 9
  10. TensorFlow docs 10

  11. tensorflow.org で提供されるドキュメントのうち、Guide, Tutorials などの総称 tensorflow/docs というリポジトリで管理される 内容は TensorFlow Core, tfjs,

    tf.lite, tfx, Swift for TensorFlow と幅広い 独自のリポジトリ内で別にドキュメントを作成している場合も 例: tensorboard/docs TensorFlow API reference は別枠扱い (docsrting で書かれる) TensorFlow docs とは 11
  12. Markdown と Jupyter Notebook で構成されている Notebook は Colab で起動できる dark

    mode がある 特徴 12
  13. TensorFlow 2 quickstart for experts Demo 13

  14. ドキュメントは英語で書かれたものを source-of-truth として取り扱う 各国語への翻訳は、各国のコミュニティ主導で行われている TensorFlow docs の翻訳活動 14

  15. 11 ヶ国語への翻訳が進行中 15

  16. TensorFlow 2 quickstart for beginners Demo 16

  17. 時期 内容 2019/03 @masa-ita による ja/tutorials/keras の翻訳 PR 2019/04 レビューが行われ

    PR が取り込まれる オフライン活動 (TensorFlow のドキュメントを翻訳しつつ勉強する会#1) 2019/05 Keras, hub, tfjs, xla, autograph の翻訳に関する PR が merge 2019/06 tutorial や tf.lite, tfp も翻訳が進み PR が merge される 2019/08 レビュワーが増えだす (2019/12 現在 8 名) 2019/11 オフライン活動 (TensorFlow のドキュメントを翻訳しつつ勉強する会#2) 日本コミュニティでのこれまでの活動 17
  18. すべての始まり 18

  19. 続々と集まるレビュワー (1/2) 19

  20. 続々と集まるレビュワー (2/2) 20

  21. リリース 21

  22. 翻訳活動をすすめるためのコミュ ニティが立ち上がる オフライン & オンラインで活動を 開始 オフラインで翻訳するイベントを 2 回開催 オンラインでは随時

    GitHub & Slack で活動継続中 コミュニティ活動 22
  23. TensorFlow を翻訳しつつ勉強する会 #2 23

  24. Google Developers ML Summit Tokyo vol 3 で紹介される Jeff Dean

    が来日した会 写真に写っている方は Mike Liang (Product Manager, TensorFlow) ML Summit Tokyo 24
  25. 現在も活発に活動中 25

  26. Contents 1. TensorFlow docs の翻訳について 2. 翻訳の楽しさについて <- 3. 翻訳活動の難しさについて

  27. 1. TensorFlow について詳しくなれる <- 2. コミュニティで知識を交換しあえる 3. 世界を変えることができる 翻訳の楽しさについて 27

  28. 内容が豊富 深く理解できる 得た知識の活用例 tf.function による高速化 1. TensorFlow について詳しくなれる 28

  29. Tutorial だけでも さまざまな内容の ドキュメントが用 意されている Keras Numpy, pandas CNN, RNN

    Word embedding Transfer learning GAN 内容が豊富 29
  30. TensorBoard TFX TensorFlow Hub Datasets Model Optimization Probability TensorFlow Federated

    XLA Neural Structured Learning TensorFlow Agents TensorFlow Ranking Extensions (一部) 30
  31. 翻訳することは、理解したことを自分の言葉で他人に伝えることと同じ 英語のドキュメントを読み、動かして理解する 関連するドキュメントを読み、動かして理解する 結果を自分の言葉で記述する 翻訳は自分の理解度に対する良いテストになる 翻訳することで理解を確認できる 31

  32. 様々な分野の理解が必要になった例 : TFX 32

  33. better performance with tf.function.ipynb 得た知識の活用例 tf.function による高速化 33

  34. 翻訳を行い、理解度をテストしながら読むことで、理解を深められる 分野が幅広いため、自分の引き出しを広げられる 1. TensorFlow について詳しくなれる 34

  35. 1. TensorFlow について詳しくなれる 2. コミュニティで知識を交換しあえる <- 3. 世界を変えることができる 翻訳の楽しさについて 35

  36. 理解を深められる 互いに褒め合うのは大事 2. コミュニティで知識を交換しあえる 36

  37. TensorFlow Core のドキュメントの翻訳には大まかに言って次が必要 機械学習の知識 プログラミングの知識 : Python, OOP, Functional Programming

    TensorFlow の知識 TensorFlow Core 以外を翻訳しようとすると、追加の知識が必要 TensorFlow.js : JavaScript tf.lite, XLA : 低レイヤー TFX : Apache Beam, Apache Airflow, Kubeflow (k8s), etc. Swift for TensorFlow : Swift tfp : 確率的プログラミング ... and so on. 翻訳には莫大な知識が必要になる 37
  38. 自分の理解を確認し、 理解の幅を広げる機会 はなかなかない レビューを通して、コ ミュニティで自分の理 解を深められる 自分の知識が深くない 分野について、改めて 見直す機会になる 理解を深められる

    38
  39. 文中の Python primitives はどう訳せるでしょうか? tf.function works best with TensorFlow ops,

    rather than NumPy ops or Python primitives.
  40. 40

  41. 41

  42. 42

  43. より良い訳が思いついたあなた! 今がまさにコントリビュートの機会です!

  44. 互いに褒め合うのは大事 44

  45. 互いに褒め合うのは大事 45

  46. 互いに褒め合うのは大事 46

  47. 指摘も大事、互いに褒め合うのも大事 コミュニティ活動を通じて適切なフィードバックが得られる 2. コミュニティで知識を交換しあえる 47

  48. 1. TensorFlow について詳しくなれる 2. コミュニティで知識を交換しあえる 3. 世界を変えることができる <- 翻訳の楽しさについて 48

  49. 1. 日本語のドキュメントに助けられてきたから 2. 翻訳することで世界を変えることができる なぜ翻訳したいのか? 49

  50. Q: man ってどう読むんですか A: man man Q: man ってどうやったら読めるようになるんですか A:

    読もうとするうちに読めるようになる Q: man コマンドってどうやったら終えられるんですか A: man less を読め Q: 打てないんですが A: h を打て man を読め 50
  51. 51

  52. 52

  53. 大量の日本語ドキュメントが見つかる安心感 (黒い画面じゃない) 少なくとも同じことで悩んでいた人がいた!仲間がいた! なぜ検索するのか 53

  54. 今読めるのは先人の努力の結果 最初からできたわけではない 返すべき恩がある 巨人になれなくとも、巨人の肩ま での階段なら作れるかもしれない 日本語のドキュメントに 助けられてきた 54

  55. 誰がこんな難しいことをやるのか 単純に英語の文章を読めばよいのではないか いつの日にか公式的にやってくれるのではないか でも、少なくとも TensorFlow のドキュメントについてはそうではない 自分で理解して、他人にわかるように説明したドキュメントがある世界は、それが ない世界よりもずっと良い 先人たちもそのような思いだったのでは 他人にわかるように説明すること

    = 翻訳で恩返しをして、より良い世界にできる やってみたら意外と楽しいし! TensorFlow のドキュメント翻訳についての雑感 55
  56. 1. 今、ドキュメントを読めるのは先人の努力のおかげ 2. 翻訳を行うことで自分で理解して他人にわかるように説明したドキュメントのある 世界を実現できる 3. 世界を変えることができる 56

  57. Contents 1. TensorFlow docs の翻訳について 2. 翻訳の楽しさについて 3. 翻訳活動の難しさについて <-

  58. 0. 翻訳活動の根本的な難しさ 1. 手順が不明確 2. 未着手が多い 3. 変更への追従ができていない 翻訳活動の難しさについて 58

  59. コミュニティを作り定着させることが大事 日本コミュニティについては一山越えた感 翻訳活動の根本的な難しさ 59

  60. 少人数で活動してきて いたため、手順が不明 確な箇所がまだある 右は翻訳すべきでない ドキュメントを翻訳し た筆者に対する丁寧な 対応の図 Jupyter Notebook のレ

    ビューも現状では json を気合でレビュー勢が 多い 1. 手順が不明確 60
  61. 表記ゆれチェック ツール Markdown と Notebook に対応 Thanks: sfujiwara chie8842 Proofreading

    (RedPen) 61
  62. 着手できたのはファイル数で ja / en = 65 / 228 (29%) くらい

    tensorflow/docs に限定して diff を撮ってみたのが右図 関連ドキュメントを含めると比率 はまだ下がりそう まだまだやることはたくさんある 個人的には TFX と Swift for TensorFlow をやっていきたい 2. 未着手が多い 62
  63. ドキュメントの変更が 結構激しく、追従がで きていない 急速に拡大する TensorFlow エコシステ ムへの追従も考慮でき ると良さそう 3. 変更への追従

    63
  64. 翻訳以外にも英語ドキ ュメントの修正を行う ケースも ドキュメントとコード の不整合やリンク切れ を修正 ドキュメントそのもの を追加するケースも 英語ドキュメント の修正

    64
  65. 0. コミュニティを立ち上げ翻訳活動を継続できた 1. 活動を継続する中で手順が不明瞭になっているので明文化していきたい 2. まだまだ翻訳に着手できていない分野も多いのでフロンティアが広がっている 3. 変更に追従するのは短時間でできるので最初はこれからやると良いかも 4. 英語ドキュメントの修正や追加もやっていきたい

    翻訳活動の難しさについて 65
  66. We are looking forward to seeing your contribution!