社内勉強会 @ スマートニュース with 寿司
スマートニュースが紹介する、寿司とビールを片手に TensorFlow と SageMaker を活用した画像分類器作成ハンズオンは、技術習得とチームビルディングの融合事例として参考になる。
キーポイント
非公式な勉強会の文化と目的
社外からゲストを招く大規模イベントに加え、寿司やビールを飲みながら行う草の根的なハンズオン形式の勉強会が定着しており、技術共有を通じたチームビルディングを重視している。
Jeff Dean 氏の提唱する民主化思想の実践
TensorFlow Dev Summit で Jeff Dean 氏が語った「専門知識よりデータと計算リソースで解決可能」という主張に基づき、ML 非専門家のエンジニアも画像分類器を構築できる環境が提供された。
AWS SageMaker を活用した実践的ハンズオン
Jupyter Notebook と Estimator を用いて環境構築の手間を最小化し、Docker イメージと S3 連携を通じて画像分類モデルの学習・デプロイまでを一貫して体験する構成が採用された。
多様なトピックによる実践成果
フォントかるたや植物画像など、参加者の興味に基づいた具体的な課題(12 種類のフォント分類など)に取り組み、学習効果を高めた事例が紹介されている。
多様な画像分類器の実装事例
植物、動物、食品、ウィスキーの銘柄識別など、CoreML や TensorFlow を活用した多岐にわたる画像分類プロジェクトが紹介された。
SageMaker リソース制約による課題
東京リージョン未対応によりバージニア北部を利用したが、GPU インスタンスの上限緩和申請不足により参加者が待機する事態が発生した。
マネージド環境でのリハーサルの難しさ
SageMaker のようなマネージド環境は構築が容易である反面、ハンズオン前に実際の規模でリハーサルを行うことが難しいという課題が指摘された。
影響分析・編集コメントを表示
影響分析
この記事は、大規模な技術イベントだけでなく、小規模でカジュアルな社内勉強会が組織のイノベーションやチーム結束にどう寄与するかを示す優れたケーススタディです。特に、難解になりがちな機械学習技術を、具体的な業務課題(フォント分類など)と親しみやすい形式で切り込む手法は、他社でも応用可能な実践的な知見を提供しています。
編集コメント
技術的な深さだけでなく、社内の文化やチームビルディングの文脈で AI/ML をどう普及させるかに焦点を当てた、非常に示唆に富む記事です。
こんにちは。スマートニュースの真幡です。
スマートニュースには海外カンファレンスへの参加をサポートする仕組みや、技術コミュニティへの会場提供を支援する仕組みがあります。
これらのおかげでスキルアップの機会には事欠きませんが、この他に社内でも無数の勉強会が開催されています。この記事ではスマートニュースの社内勉強会についてご紹介します。
スマートニュースの社内勉強会は多種多様です。
最も大規模なものは「SmartNews Tech Talk」と呼ばれるもので、社内の全エンジニアが参加します。参加者のバックグラウンドは多様なので、トピックとしては「キーボードの内部構造」や「ロードアベレージの解釈」であったり、「広告配信の最適化」のような、特定の業務知識を前提としないものが多いです。また、社外からゲストを招くこともあり、社内に閉じずに広い視野で技術動向をつかめる勉強会です。
この他にも、草の根的に社員がはじめる勉強会もあります。例えば技術書の読書会などは誰かが「やろうぜ」と言うことで、カジュアルにはじまります。
(社内で開催されている「SRE 本」読書会の様子)
また、少し異色ですが「寿司を食べてビールを飲みつつ任意のトピックについてハンズオン形式で学ぶ」勉強会も定期的に開催しています。以下では、この「寿司を食べて〜」の勉強会についてご説明します。
これまで、寿司を食べながら次のようなトピックについて勉強会を開催してきました。
TensorFlow と寿司とビール
(補足: ビール以外のドリンクも準備しています)
スマートニュースではチームビルディングのための予算がチームに与えられます。「技術」をネタにわいわい勉強して教え合うことは広義のチームビルディングであるという考えのもと、寿司を食べながら勉強会を開催する習慣が根付きました。実際、勉強会を終えるごとにチーム間での共通語彙が増え、コミュニケーションが円滑になっているように感じます。
ハンズオン形式なこともチームビルディングに一役買っています。講師役のエンジニアが作った課題を、各メンバーが手を動かしながら解いていくのですが、バックグラウンドがまちまちなので、進捗ペースには個人差があります。たとえば、主としてフロントエンドを担当しているエンジニアにとって、Docker で意図通りのイメージを作ることは容易ではないかもしれません。その場合、となりのエンジニアと寿司をつまみながら「ここの Dockerfile はこうした方がいいのでは?」と教え合う光景が見られます。
TensorFlow と寿司とビール
「TensorFlow と寿司とビール」について、もう少し詳しくご紹介します。
機械学習(Machine Learning)系のシステム全般を担当しているプロダクトマネージャに講師を担当してもらい、「Deep Learning 界の “Hello World”」こと画像分類器を作りました。
参加者には、事前準備として分類対象の画像を収集することを求められました。
あらかじめ準備されたハンズオン資料には Fatkun Batch Download Image を使うと「Google 画像検索」の結果から画像を一括でダウンロードできて便利だという案内がありました。同僚のひとりが、この Chrome 拡張で「あだち充マンガのヒロイン分類器」を作ろうと画策したものの、本人がヒロインを区別できず教師データを作れなかったため、そのプランはお蔵入りしました。
イントロとしての「TensorFlow Dev Summit 2018」振り返り
勉強会のイントロとして、数ヶ月前に講師が参加した TensorFlow Dev Summit 2018 のキーノートを振り返りました。
Google の Jeff Dean 氏による、次のスライドに込められた主張は特に興味深いと思います。
現在は問題解決のために「ML の専門知識 + データ + 計算リソース」が必要だが、この代わりに「データと100倍の計算リソース」で問題解決できないだろうか、という主張です。つまり、十分なデータさえあれば、複雑な ML の知識がなくても Deep Learning で目的を達成できるのではないか、という発想です。
わたしを含めて、ハンズオンを受けたエンジニアの大部分は ML の専門家ではありませんでしたが、無事に TensorFlow で画像分類器を作ることができました。このことを考えても Jeff 氏の発言には一定の説得力があると感じました。
以下、最近入社した同僚の感想です (わたしも同じように感じました):
今日、 TensorFlow 勉強しながら寿司食べる勉強会で習ったんだけど、以下の tutorial の https://t.co/DBkso6Mexh だけで色んなものに使えてすごい。民主化されてる感ある https://t.co/NSL3dKQbqx
SageMaker による機械学習
環境として、AWS のマネージド機械学習サービスである SageMaker を使いました。
SageMaker のコンポーネントのひとつとして Jupyter Notebook があり、ほとんどの作業はこの上で行いました。
SageMaker では次のような操作をしました。
SageMaker では Jupyter Notebook を動かすインスタンスと、トレーニング用のインスタンスを別々に起動できます。Notebook はあらかじめ講師に準備してもらい、それを少しずつ変更しながら動かしました。Amazon SageMaker Python SDK の Estimator のコンストラクタは第一引数でトレーニング用のコンテナイメージを受け取るので、TensorFlow の GitHub リポジトリにサンプルとして含まれている retrain.py や、TensorFlow の実行環境を含む Docker イメージをあらかじめ ECR に準備しました。これにより、環境構築の手間を最小限にしてハンズオンそのものに集中できました。
Docker でトレーニングした結果のモデルは S3 にアップロードし、Notebook インスタンスでそれを取り込んで画像分類器を動かしました。
ハンズオンで作った分類器のご紹介
フォントかるたをご存知でしょうか?
【RT希望】『フォントかるた』Amazonでの販売を開始しました!全国のマニア(?)の元に届きますように!(2号)https://t.co/5bUlA25j3g#フォントかるた#Amazon pic.twitter.com/4K08W3GKFB
「愛のあるユニークで豊かな書体。」と書かれた札のフォントを当てるカルタです。当社でも (一部で) 流行しているこのゲームで、無敵の力を手に入れるためにフォント画像分類器を作成したメンバーがいました。
12種類のフォントに対して100枚ずつの画像で学習して分類器を作ったところ、まずまずの精度が出る分類器ができました。
(この例では分類器をローカルで動かしています)
「ひのき」や「すぎ」などの植物画像の分類器を作成したメンバーがいました。作者は当社のモバイルエンジニアで、サーバー側で作成したモデルを CoreML 変換して iOS アプリで推論するところまで作り込みました。

これについては、技術的な詳細を別の記事にして紹介する予定です。
他にも、次のような画像分類器ができました。
たい焼き画像とパンケーキ分類器 (わたし): たい焼きとパンケーキを間違えないように。
動物画像の分類器: アヒル、つばめ、ペンギンなどのかわいい動物たちの分類器。高い精度で分類できた。
QR コード画像と通常の画像の分類器: 過去に作った UGC サービスで QR コードをアップロードするユーザーがおり、自動的に排除するツールがほしかった。TensorFlow で簡単に実現できた。
ウィスキー画像の分類器: ウィスキーのボトル画像から、銘柄を当てる分類器を作った。ただし、「Laphroaig」を「Bunnahabhain」と判定するなど、精度はいまひとつ。
SageMaker を使ったハンズオン形式勉強会のハマりどころ
AWS で GPU 特化型のインスタンスと言えば P シリーズです (P3 や P2)。勉強会の開催日のタイミングでは AWS SageMaker は東京リージョンに来ておらず、バージニア北部リージョンで SageMaker を使うことにしました。ところが、このリージョンでは P3 や P2 のインスタンス数の上限緩和申請をしておらず、P シリーズのインスタンスを確保できないメンバーが出てしまい、先にインスタンスを確保した人がトレーニングを終えるまで「待ち」になってしまうことがありました。
SageMaker のようなマネージド環境は、環境構築が楽ではあるものの、ハンズオンの前に「実際の規模で」リハーサルをすることが難しいので、そこは難しいところだと思いました。
いっしょに寿司など嗜みませんか?
スマートニュースでは、寿司を食べたり食べなかったりしながら一緒にわいわい勉強しあえる素敵な仲間を募集しております。色々なポジションで絶賛採用中なので、ぜひ採用ページをご一読ください。
SmartNews, Inc. - Jobs






原文を表示
こんにちは。スマートニュースの真幡です。
スマートニュースには海外カンファレンスへの参加をサポートする仕組みや、技術コミュニティへの会場提供を支援する仕組みがあります。
これらのおかげでスキルアップの機会には事欠きませんが、この他に社内でも無数の勉強会が開催されています。この記事ではスマートニュースの社内勉強会についてご紹介します。
スマートニュースの社内勉強会は多種多様です。
最も大規模なものは「SmartNews Tech Talk」と呼ばれるもので、社内の全エンジニアが参加します。参加者のバックグラウンドは多様なので、トピックとしては「キーボードの内部構造」や「ロードアベレージの解釈」であったり、「広告配信の最適化」のような、特定の業務知識を前提としないものが多いです。また、社外からゲストを招くこともあり、社内に閉じずに広い視野で技術動向をつかめる勉強会です。
この他にも、草の根的に社員がはじめる勉強会もあります。例えば技術書の読書会などは誰かが「やろうぜ」と言うことで、カジュアルにはじまります。
(社内で開催されている「SRE 本」読書会の様子)
また、少し異色ですが「寿司を食べてビールを飲みつつ任意のトピックについてハンズオン形式で学ぶ」勉強会も定期的に開催しています。以下では、この「寿司を食べて〜」の勉強会についてご説明します。
これまで、寿司を食べながら次のようなトピックについて勉強会を開催してきました。
TensorFlow と寿司とビール
(補足: ビール以外のドリンクも準備しています)
スマートニュースではチームビルディングのための予算がチームに与えられます。「技術」をネタにわいわい勉強して教え合うことは広義のチームビルディングであるという考えのもと、寿司を食べながら勉強会を開催する習慣が根付きました。実際、勉強会を終えるごとにチーム間での共通語彙が増え、コミュニケーションが円滑になっているように感じます。
ハンズオン形式なこともチームビルディングに一役買っています。講師役のエンジニアが作った課題を、各メンバーが手を動かしながら解いていくのですが、バックグラウンドがまちまちなので、進捗ペースには個人差があります。たとえば、主としてフロントエンドを担当しているエンジニアにとって、Docker で意図通りのイメージを作ることは容易ではないかもしれません。その場合、となりのエンジニアと寿司をつまみながら「ここの Dockerfile
TensorFlow と寿司とビール
「TensorFlow と寿司とビール」について、もう少し詳しくご紹介します。
マシンラーニング系のシステム全般を担当しているプロダクトマネージャに講師を担当してもらい、「Deep Learning 界の “Hello World”」こと画像分類器を作りました。
参加者には、事前準備として分類対象の画像を収集することを求められました。
あらかじめ準備されたハンズオン資料には Fatkun Batch Download Image を使うと「Google 画像検索」の結果から画像を一括でダウンロードできて便利だという案内がありました。同僚のひとりが、この Chrome 拡張で「あだち充マンガのヒロイン分類器」を作ろうと画策したものの、本人がヒロインを区別できず教師データを作れなかったため、そのプランはお蔵入りしました。
イントロとしての「TensorFlow Dev Summit 2018」振り返り
勉強会のイントロとして、数ヶ月前に講師が参加した TensorFlow Dev Summit 2018 のキーノートを振り返りました。
Google の Jeff Dean 氏による、次のスライドに込められた主張は特に興味深いと思います。
現在は問題解決のために「ML の専門知識 + データ + 計算機リソース」が必要だが、この代わりに「データと100倍の計算機リソース」で問題解決できないだろうか、という主張です。つまり、十分なデータさえあれば、小難しい ML の知識がなくても Deep Learning で目的を達成できないだろうか、という発想です。
わたしを含めて、ハンズオンを受けたエンジニアの大部分は ML の専門家ではありませんでしたが、無事に TensorFlow で画像の分類機を作ることができました。このことを考えても Jeff 氏の発言には一定の説得力があると感じました。
以下、最近入社した同僚の感想です (わたしも同じように感じました):
今日、 TensorFlow 勉強しながら寿司食べる勉強会で習ったんだけど、以下の tutorial の https://t.co/DBkso6Mexh だけで色んなものに使えてすごい。民主化されてる感ある https://t.co/NSL3dKQbqx
SageMaker による機械学習
環境として、AWS のマネージドな機械学習サービスである SageMaker を使いました。
SageMaker のコンポーネントのひとつとして Jupyter Notebook があり、ほとんどの作業はこの上で行いました。
SageMaker では次のような操作をしました。
SageMaker では Jupyter Notebook を動かすインスタンスと、トレーニング用のインスタンスを別々に起動できます。Notebook はあらかじめ講師に準備してもらい、それを少しずつ変更しながら動かしました。Amazon SageMaker Python SDK の Estimator のコンストラクタは第一引数でトレーニング用のコンテナイメージを受け取るので、TensorFlow の GitHub リポジトリにサンプルとして含まれている retrain.py や、TensorFlow の実行環境を含む Docker イメージをあらかじめ ECR に準備しました。これにより、環境構築の手間を最小限にしてハンズオンそのものに集中できました。
Docker でトレーニングした結果のモデルは S3 にアップロードし、Notebook インスタンスでそれを取り込んで画像分類機を動かしました。
ハンズオンで作った分類器のご紹介
フォントかるたをご存知でしょうか?
【RT希望】『フォントかるた』Amazonでの販売を開始しました!全国のマニア(?)の元に届きますように!(2号)https://t.co/5bUlA25j3g#フォントかるた#Amazon pic.twitter.com/4K08W3GKFB
「愛のあるユニークで豊かな書体。」と書かれた札のフォントを当てるカルタです。当社でも (一部で) 流行しているこのゲームで、無敵の力を手に入れるためにフォント画像分類機を作成したメンバーがいました。
12種類のフォントに対して100枚ずつの画像で学習して分類器を作ったところ、まずまずの精度が出る分類器ができました。
(この例では分類機をローカルで動かしています)
「ひのき」や「すぎ」などの植物画像の分類器を作成したメンバーがいました。作者は当社のモバイルエンジニアで、サーバー側で作成したモデルを CoreML 変換して iOS アプリで推論するところまで作り込みました。

これについては、技術的な詳細を別な記事にして紹介する予定です。
他にも、次のような画像分類器ができました。
たい焼き画像とパンケーキ分類器 (わたし): たい焼きとパンケーキを間違えないように。
動物画像の分類器: アヒル、つばめ、ペンギンなどのかわいい動物たちの分類器。高い精度で分類できた。
QR コード画像と通常の画像の分類器: 過去に作った UGC サービスで QR コードをアプロードするユーザーがおり、自動的に排除するツールがほしかった。TensorFlow で簡単に実現できた。
ウィスキー画像の分類器: ウィスキーのボトル画像から、銘柄をあてる分類器を作った。ただし、「Laphroaig」を「Bunnahabhain」と判定するなど、精度はいまひとつ。
SageMaker を使ったハンズオン形式勉強会のハマりどころ
AWS で GPU 特化型のインスタンスと言えば P シリーズです (P3 や P2)。勉強会の開催日のタイミングでは AWS SageMaker は東京リージョンに来ておらず、バージニア北部リージョンで SageMaker を使うことにしました。ところが、このリージョンでは P3 や P2 のインスタンス数の上限緩和申請をしておらず、P シリーズのインスタンスを取れないメンバーが出てしまい、先にインスタンスをつかんだ人がトレーニングを終えるまで「待ち」になってしまうことがありました。
SageMaker のようなマネージド環境は、環境構築が楽ではあるものの、ハンズオンの前に「実際の規模で」リハーサルをすることが難しいので、そこは難しいところだと思いました。
いっしょに寿司など嗜みませんか?
スマートニュースでは、寿司を食べたり食べなかったりしながら一緒にわいわい勉強しあえる素敵な仲間を募集しております。色々なポジションで絶賛採用中なので、ぜひ採用ページをご一読ください。
SmartNews, Inc. - Jobs






関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み