SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2023 セッションレポート

1人から始めた深層学習、実装までやり遂げるために社内で行った3つのステップとは?

【9-C-6】たった1人から始めて深層学習によるニュース要約をプロダクトに実装した方法~ファーストペンギンでやりきる力~

  • X ポスト
  • このエントリーをはてなブックマークに追加

仲間を増やすための工夫を徹底していく

 そんなことをしていると、少しずつ仲間が増えてくるが、中村氏はいくつか鉄則があるという。

 まずは、ゆるくつながり続けること。人間関係にアンテナを張り、意識的に雑談の機会を増やすのだ。ちなみに、中村氏は人見知りをするほうだという。会社だと頑張ってやったほうが良いなと思って意識的にやっているそうだ。

 また、仲間を増やすには、フォロワーが重要だ。大きなムーブメントを作るには1人目のフォロワーが必要になる。そして2人目のフォロワーがいることでムーブメントが始まる。そのために、自分が他の人のフォロワーになり、自分のフォロワーになってもらうことが大切だ。

フォロワーが需要
フォロワーが需要

 そのほか大切になってくるのが、Slackでの雑談だ。コロナ禍以降、オフィスで雑談することは難しくなっている。そこで中村氏は、分報と呼ばれる社内チャンネルに日々の感想や出来事を書いているそうだ。プライベートの話題などで緩く繋がっていくことで、実際に一緒に仕事をするときもスムーズに取り掛かれる。

 加えて大切なことは、積極的に助けに行くことだ。何か疑問を持って問いかけている人がいたら、できる限り助けに行くようにしているという。

 「これは多くの人がやってあげたいと心の中では思っていますが、相手にとって迷惑にならないだろうかと躊躇していると思います。経験的には迷惑にならないと思っています。助けてもらいたいけど、誰に言えばいいかもわからないという経験を、誰もが一度はあるんじゃないでしょうか。だからこそ、私は積極的に助けに行くことにしています」

 あとオススメなのが、Slackなどを使うときスタンプでリアクションすることだという。中村氏は、この2年Slackのリアクション数で全社1位が続いているそうだ。

 「こんな感じで周りに知識を広めていったり仲間を作ろうと頑張っていたりすると、いつの日か種巻きの時間が終わります」

 これまでの活動を通して、周りの人からは「機械学習の人」と言われるようになったため、 機械学習の発展と合わせてタイミングが来た際「今、手作業でやっている記事の要約作業って、機械学習で自動化できそうじゃないですか。やってみてもいいですか」と話しただけで許可を得ることができたという。もちろん、クラウドの費用などコストについて説明もしたが、 わざわざ資料を作り込んで説得するフェーズは不要だった。「これは自分がすごいエンジニアだからではなく、毎日少しずつ積み重ねていった結果だと思っています」と中村氏は振り返る。

ステップ2:技術を開花させる。自力で作りながら助けを求める

 ここから、まいておいた技術を開花させる話になる。中村氏は、ニフティニュースにおける深層学習を利用した記事要約の技術の勘所を解説した。

 「基本的な考え方として、機械学習を使ったシステムは負債化しやすくなります。これについて『機械学習は技術的負債の高利子クレジットカード』という論文が出ているくらいです。機械学習システムは一部を変更すると全てが変わってしまうことが多いため、負債を少しでも減らす工夫をするべきです」

 そして、記事要約機能の開発でおこなった実際の工夫を紹介した。

機械学習技術は負債化しやすい
機械学習技術は負債化しやすい

 まずは、全てをAWS上で管理し、環境などを可能な限りコード化して共有知にした。インフラもTerraformで構築して、コードを追えば、設定値も含めて全てが分かるように進めたのだ。

 そして、必ずレビューして説明した。自分のチームで機械学習に知見を持っていたのは自分だけだったが、できる限り説明して最終的なメンテナンス性の向上を目指したのだ。メンバーも意外と興味を持ってくれることが多く、複雑で難しい部分については大人数で一緒に画面を見ながらレビューするモブレビューを行ったそうだ。その結果、みんなで開発している感覚を持つことができた。

 さらに、基本方針として、マネージドサービスをフルに活用した。他の開発も同時に行っていたため、 機械学習システムだけに時間を使えなかったためだが、スケーリングや保守運用の容易さを考えると、結果的にベストの選択になった。

次のページ
小さく作るために、クラウドのアーキテクチャを考える重要性

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Developers Summit 2023 セッションレポート連載記事一覧

もっと読む

この記事の著者

可知 豊(カチ ユタカ)

フリーランスのテクニカルライター 興味の対象はオープンソースの日常利用、ライセンス、プログラミング学習など。 著書「知る、読む、使う! オープンソースライセンス」。https://www.catch.jp

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

川又 眞(カワマタ シン)

インタビュー、ポートレート、商品撮影写真をWeb雑誌中心に活動。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/17833 2023/06/14 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング