SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
2018.08.21 機械学習工学研究会 現場を交えた勉強会 #1
株式会社ブレインパッド
栁原 淳宏
SIer出身のエンジニアが
機械学習を取り入れた
ASPサービス開発で学んだこと
誰?
名前 栁原 淳宏 (やなぎはら あつひろ)
   ※社内ではやぎぞうとよばれている
職種 エンジニア & プロダクトオーナー(兼務)
所属 株式会社ブレインパッド
マーケティングプラットフォーム本部開発部
RtoasterチームとConomiチームに所属
はじめまして!!
経歴(あゆみ)
組織
プロ
ジェクト
職種
要素
技術
ワード
競馬写真判定システム
開発プロジェクトで
エンジニアデビュー
某F社の大学図書館向け
パッケージ開発プロジェクトに参画
下請け中堅SIer時代
100人規模の会社
ソフトウェアエンジニア
Java、C、Delphi
Windows、Solaris、
Linux、
Oracle、PostgreSQL
ウォーターフォール
パッケージ配布、BtoB
某S社の携帯ミュージック
プレイヤーのミドルウェア
開発プロジェクトに参画
フリーランス時代
個人事業主
組み込みエンジニア
C、独自フレームワーク
Windows、Linux
SQLite
アジャイル開発
BtoC
(現在)
入社時50人→現在250人強規模の会社
機械学習色のあるソフトウェア エンジニア
C++、Python
Linux
PostgreSQL
機械学習、アジャイル開発
ASP、BtoB(toC)
結果的に、
ず〜っとエンジニア
やってきました
ブレインパッド?
会社概要
データ分析の会社としてスタートし、今では企業の経営
改善を支援するビッグデータ活用サービス、デジタル
マーケティングサービスを提供してます
© BrainPad Inc. 7
最高の価値提供を可能にする3つの力
この辺で
仕事してます!
「ブレインパッド」と言うと、
コンサルタント、データサイエンティストによる分析、業務支
援やシステム構築、教育事業などをやっているイメージが強
いのですが、
私のいる部署は
デジタルマーケティングサービス
Rtoasterチームの開発メンバー、 Conomiチームのプロダクトオーナー&リードエンジニアしてます
Rtoaster?
Conomi?
Rtoasterとは
「Rtoaster」は、最先端のレコメンドエンジンと、ユーザー可視化・分析エンジンが搭載されたSaaS型プライベートDMPです。
開発担当
https://www.rtoaster.com/
Conomiとは
多彩なロジックからヒト・モノのマッチング・レコメンドデータ(貴社”好み”の価値ある情報)を生成し、
ビジネス、サービスを加速させるエンジンです。
https://www.conomi.plus/
Conomiとは
多彩なロジックからヒト・モノのマッチング・レコメンドデータ(貴社”好み”の価値ある情報)を生成し、
ビジネス、サービスを加速させるエンジンです。
https://www.conomi.plus/
Rtoasterで培った
レコメンデーション
技術がベース
Rtoasterのレコメンドロジックを、
• より簡易にシステムやサービスへ組み
込めること
• 精緻かつ柔軟なレコメンドチューニング
を実現すること
を目指して、Rtoasterのレコメンドエンジンに
含まれるロジックや技術を切り出し設計し直
したプロダクト。
現在、やぎぞうがもっとも
注力しているプロダクトです!
随分と前置きが
長くなってしまいましたが、
一応機械学習システム?っぽい
プロダクト開発に従事している者という
ご理解をいただいたと言うことで
本日皆さんと
お話ししたいこと
近年、ディープラーニングや機械学習といった技術の発展に
よって、システム開発・ソフトウェアエンジニアを取り巻く環境
が変わってきたと感じる。自分だけ?
とある1人のエンジニアの経験(20年くらい)を元に振り返りな
がら、何が変わってきたのかを考えてみたい。
環境が変わっていく中、これからのソフトウェアエンジニア
はどうすれば輝けるのかを一緒に議論したい。
→無知なので、機械学習工学の展望について学びたい
なぜ、今回話をしようと
思ったのか?
どうやって、変化・違いを
説明する?
で、何をしたいの?
SIer時代と今を比べて
変化を感じるところ
(苦労したところ)
何が変わったのか?
システム化する対象の違いに戸惑う
業務の
自動化
効率化
付加価値の
システム化
法律
取引(金)
商習慣
物流
社内
ルール
仮説
アイディア
ユーザー
体験
業務システム CRM(DMP)
プロトコル
業務
改善
BrainPad以前 BrainPadに入ってから
目的
対象
システム化の
システム化の
アルゴリ
ズム
トレンド
理解するまで大変だけど
かっちりしている
雰囲気わかるけど
ふわふわしている
システム化する対象の違いに戸惑う
業務の
自動化
効率化
付加価値の
システム化
法律
取引(金)
商習慣
物流
社内
ルール
仮説
アイディア
ユーザー
体験
業務システム CRM(DMP)
プロトコル
目的
対象
業務
改善
BrainPad以前 BrainPadに入ってから
システム化の
システム化の
アルゴリ
ズム
トレンド
仕様策定決
め
や
す
い
難
し
い
システム化する対象の違いに戸惑う
業務の
自動化
効率化
付加価値の
システム化
法律
取引(金)
商習慣
物流
社内
ルール
仮説
アイディア
ユーザー
体験
業務システム CRM(DMP)
プロトコル
目的
対象
業務
改善
BrainPad以前 BrainPadに入ってから
システム化の
システム化の
アルゴリ
ズム
仕様変更変
わ
り
に
く
い
変
わ
り
や
す
い
トレンド
開発手法・習慣の違いに戸惑う
業務システム CRM(DMP)
BrainPad以前 BrainPadに入ってから
受託開発
※システム・プログラムを最終的に納品
自社開発
ウォータフォール
※各工程が納品物にひもづく
どちらかと言うと
アジャイル(スクラム)
立場
開発プロセス
技術/知識
環境/保守
など
ソフトウェアベンダー提供のツール、ライ
ブラリ、ソフトウェア
※一部オープンソース
オンプレミス
パッケージ提供(インストール)
内部仕様など整理されたドキュメントは多
い
基本オープンソース
※チームで技術選定を行う
クラウド
ASP
ユーザーに公開するマニュアル以外の整
理されたドキュメントは少ない
開発工程における違い
仕様決めが難しい
業務システム CRM(DMP)
BrainPad以前 BrainPadに入ってから
仕様策定決
め
や
す
い
難
し
い
= 要件定義が難しい
= 設計が難しい
● 仕様に合わせた技術選定が可能
○ 言語、アーキテクチャ、環境...
● 状態遷移(結果、解答)が定義しやすい
○ 業務フローは状態遷移の把握がしやすい
ので、データフローがわかりやすい
● 仕様がふわふわした状態なので、色々と試行錯誤
が必要
○ 言語、アーキテクチャ、環境、アルゴリズ
ム...
● ビジネス、サービスへの価値付与はゴールが明確
でなく、答えが一つではない
○ システム化のための定義が難しい
開発プロセス ☞ アジャイル(スクラム)風
なぜ、〜風?
● 仕様が流動的なので、ウォーターフォールは不向き →反復型(アジャイル開発)の方が相性が良い
○ スプリント単位で、細かくスケジュールが修正できるのは良い
○ スプリント内でのスコープ変更が発生しやすいので、タイムボックスで縛ると苦しくなる時がある
■ 結果が積み上がらない時がある
■ 特にアルゴリズム開発時に作成したモデルの結果が芳しくない時など、見通しが悪い時は変更したくなる
管理画面開発サブチーム
コア機能開発サブチーム
ユーザー分析機能開発
サブチーム
レコメンドエンジン
機能開発サブチーム
Rtoaster開発での工夫
● 機能単位でサブチームを分けて、サブチーム毎に開発プロセスの詳細を委任。複数のプロセスを同時並行で動かすことで全体の
影響度合いをコントロール
従来のソフトウェア工学の
知見を活用しやすい
もうひと工夫必要
(課題が...)
設計・検討において
色々な面で、サイクルが早い
● 技術のサイクル
○ どんどん新しい機械学習の手法、技術、環境、基盤が出てくるので、選ぶ方が追いつかない
■ 開発部では別部署に所属するデータサイエンティストから最近のトレンドをキャッチアップすることでなんとかやって
いる
■ 自力では無理
● 業界のトレンド
○ デジタルマーケティングの世界の移り変わりも早い
■ 競合のキャッチアップ、連携先など色々な面での情報収集が必要
= 技術の陳腐化が早い
実装において
仕様(ロジック)
決めが難しい問題が先送りに
= どちらかと言うと、作りながら決まっていくことが多い(行ったり来たり)
= 試作、設計、実装の線引きが曖昧
● どの工程にいるのかわからなくなる時がある(=スケジュールをコントロールする上でリスク)
● 実装段階で、どの技術を選択するか候補はあるものの、まだ決まっていない時がある
● レビューが難しい
● ツールは通常のソフトウェア開発時とそんなに変わらないと思う
検証
単体テスト(=ユニットテスト)
● 妥当性の評価
○ 例えばレコメンドの場合、予約システムと優先順評価のケースとは異なり、レコメンド対象の優先順が正し
いか定義しにくい
● アルゴリズムの評価
○ 確率的なモデルを採用している場合、結果が変わってしまうので、同値分割や境界値テストのような手法
が使えない。
○ 集計ベースのモデルならそこまで問題にはならない
➡ 評価が難しい 業務システムと比べると、
結果が自明じゃない場合が
あり、困ることがある ...
総合テスト
● 非機能要件に対するテスト
○ アルゴリズムによって負荷テストに対する特性が異なり、評価しにくい
■ 単純に入力データ量に対して処理時間が線形に比例しない場合がある
■ 現実的にはありえない特殊なデータ入力によって、処理コストが爆発するなど想定仕切れないこと
もある
運用・保守における違い
変化のスパンが短い
業務システム CRM(DMP)
BrainPad以前 BrainPadに入ってから
仕様変更変
わ
り
に
く
い
変
わ
り
や
す
い
= 運用・保守の変更が
 発生しやすい
● パッケージリリースサイクルが比較的長い
○ 安定した運用ルール、保守しやすい
● 業務、業界で採択する標準規格が存在することが
多い
○ 保守しやすい
● パッケージリリースサイクルが短い
○ 変更が発生しやすい
● デジタルマーケティングの世界では、連携方法が
サービス毎に異なることが多い
○ 連携先が増えると、保守が大変
○ Rtoasterでは、CrossOven、CrossFeedと
いったサブプロダクトに分離することで、こ
の問題を回避
その他
(時間調整ネタ)
とあるエンジニアが直面した壁
ことばの壁
● データサイエンティストとエンジニアにある微妙な用語の違い
○ 入社直後、とあるシミュレーターのシステム開発プロジェクトの仕様策定の場面で、モデルと言う用語をアーキテクチャー
の話だと思って聞いていたら、実は式(数理モデル)を指していて話があっているようで違うこと言っていた
● 実は数式を見るのが苦手
○ 相談に乗ってくれるデータサイエンティストは最近、Python等のコードでサンプルをくれる
コストの壁
● Rtoasterは自社サービスで、利用料の一部でレコメンドエンジンを運用している以上、ランニングは常に意識
○ 新しい技術を検討するときの費用感は意識
○ リソースを節約
■ レコメンドリストは表示する部分まで計算したら最後までしないとか、ユーザー毎の訪問頻度に応じた更新など、分
析フェーズとは違うテクニックが必要
異業種の壁
● 元々ECサイト向けのレコメンドサービスとしてスタートしたが、現在同じECでも単品通販からモールまでバリエーションは増え、旅
行系、メディア系、金融系、人材系などの様々な業種での利用が始まり、解決したい問題が複雑化した。業務システムでは考えら
れない応用力が問われた
○ 内部パラメータで業種やサイトの特性に応じたチューニングポイントを多数用意することで、表現力を増やし、問題解決能
力を強化した
まとめ
機械学習システムでは従来の業務システムと異なり
ビジネス、サービスへの新しい価値創造を求められる
その1
システム化の目的、対象
が変わってきている
その2
従来の手法が通用するところ
→システム化の対象が
「ふわっ」としてる
仕様変更や要求の変化をある程度許容してくれる
アジャイルソフトウェア開発手法は有効
→ただし銀の弾丸ではないので、例えばシステムの
中でソフトウェア色が強い機能と、機械学習色が強
い機能に分解できるアーキテクチャを採用し、サービ
ス全体への影響をある程度コントロールするような
仕組みは必要
→ツールなんかは既存のものがかなり使える
仮説検証→設計→実装の境界が曖昧
その3
機械システムにおける課題 ● 計画の立て方(見積の精度をどう担保するのか)
● 責任の所在(何が問題かの発見が従来より難しい)
品質の担保
● 検証(テスト)において、ベストな方法がまだありそう
● 運用、保守における変更の強度をどう高めていくか
新技術への追従
● 機械学習分野における進歩は早く、業務システムで使用する規格、基盤に比べて、
陳腐化が早い
○ 既存機能がリリースして終わりではなく、メンテナンス・改善の観点が必要
というわけで
この後の時間で
これから機械学習システムに
ソフトウェアエンジニアは
どう向き合っていくのが幸せなのか
議論したいです!
ご静聴
ありがとう
ございました
株式会社ブレインパッド
〒108-0071 東京都港区白金台3-2-10 白金台ビル3F
TEL:03-6721-7002 FAX:03-6721-7010
www.brainpad.co.jp info@brainpad.co.jp
やぎぞう
yanagihara@brainpad.co.jp
Facebook : https://www.facebook.com/atsuhiro.yanagihara
Qiita : https://qiita.com/yagizo
こっそり告知
当社では、開発エンジニアを積極的に募集しています!ぜひ、新卒採用・キャリア採用ともに皆さまのご応募をお待ちしています!
興味ある方はこちらから https://hrmos.co/pages/brainpad/jobs/4010401 

Mais conteúdo relacionado

Semelhante a SIer出身のエンジニアが 機械学習を取り入れた ASPサービス開発で学んだこと

Toppers sspを用いた教育訓練カリキュラムカーネルの自作およびカスタマイズ
Toppers sspを用いた教育訓練カリキュラムカーネルの自作およびカスタマイズToppers sspを用いた教育訓練カリキュラムカーネルの自作およびカスタマイズ
Toppers sspを用いた教育訓練カリキュラムカーネルの自作およびカスタマイズKazuhiro Takahashi
 
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介Recruit Technologies
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱Koichi ITO
 
テクニカルエンジニアリング部_富樫.pptx
テクニカルエンジニアリング部_富樫.pptxテクニカルエンジニアリング部_富樫.pptx
テクニカルエンジニアリング部_富樫.pptxCybozu, Inc.
 
サーバーサイド技術者不足に効くChef
サーバーサイド技術者不足に効くChefサーバーサイド技術者不足に効くChef
サーバーサイド技術者不足に効くChefMaho Takara
 
[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング
[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング
[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリングMasanori Kaneko
 
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計Takahiro Kubo
 
5shiozawa leanconf2014
5shiozawa leanconf20145shiozawa leanconf2014
5shiozawa leanconf2014leanconference
 
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアルリクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアルRecruit Technologies
 
吉田★学習スタイルコーディネート★ラボイベント<学習スタイルコーディネート>
吉田★学習スタイルコーディネート★ラボイベント<学習スタイルコーディネート>吉田★学習スタイルコーディネート★ラボイベント<学習スタイルコーディネート>
吉田★学習スタイルコーディネート★ラボイベント<学習スタイルコーディネート>デジタル・ナレッジ はが弘明
 
transxリーフレット
transxリーフレットtransxリーフレット
transxリーフレットtrans23x
 
スタートアップを目指す零細企業のエンジニア採用事情
スタートアップを目指す零細企業のエンジニア採用事情スタートアップを目指す零細企業のエンジニア採用事情
スタートアップを目指す零細企業のエンジニア採用事情Kohji Osamura
 
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来Daiyu Hatakeyama
 
Force.comシステム連携のデザイン考察
Force.comシステム連携のデザイン考察Force.comシステム連携のデザイン考察
Force.comシステム連携のデザイン考察Junji Imaoka
 
シラサギ紹介20170915
シラサギ紹介20170915シラサギ紹介20170915
シラサギ紹介20170915Naokazu Nohara
 

Semelhante a SIer出身のエンジニアが 機械学習を取り入れた ASPサービス開発で学んだこと (20)

Toppers sspを用いた教育訓練カリキュラムカーネルの自作およびカスタマイズ
Toppers sspを用いた教育訓練カリキュラムカーネルの自作およびカスタマイズToppers sspを用いた教育訓練カリキュラムカーネルの自作およびカスタマイズ
Toppers sspを用いた教育訓練カリキュラムカーネルの自作およびカスタマイズ
 
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
 
ファーストアカウンティング会社説明資料 for engineer 2022年7月版
ファーストアカウンティング会社説明資料 for engineer 2022年7月版ファーストアカウンティング会社説明資料 for engineer 2022年7月版
ファーストアカウンティング会社説明資料 for engineer 2022年7月版
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
 
テクニカルエンジニアリング部_富樫.pptx
テクニカルエンジニアリング部_富樫.pptxテクニカルエンジニアリング部_富樫.pptx
テクニカルエンジニアリング部_富樫.pptx
 
サーバーサイド技術者不足に効くChef
サーバーサイド技術者不足に効くChefサーバーサイド技術者不足に効くChef
サーバーサイド技術者不足に効くChef
 
[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング
[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング
[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング
 
20200617_archjapan-tokyo-05
20200617_archjapan-tokyo-0520200617_archjapan-tokyo-05
20200617_archjapan-tokyo-05
 
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計
 
5shiozawa leanconf2014
5shiozawa leanconf20145shiozawa leanconf2014
5shiozawa leanconf2014
 
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアルリクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
 
吉田★学習スタイルコーディネート★ラボイベント<学習スタイルコーディネート>
吉田★学習スタイルコーディネート★ラボイベント<学習スタイルコーディネート>吉田★学習スタイルコーディネート★ラボイベント<学習スタイルコーディネート>
吉田★学習スタイルコーディネート★ラボイベント<学習スタイルコーディネート>
 
Smfl20201001
Smfl20201001Smfl20201001
Smfl20201001
 
transxリーフレット
transxリーフレットtransxリーフレット
transxリーフレット
 
スタートアップを目指す零細企業のエンジニア採用事情
スタートアップを目指す零細企業のエンジニア採用事情スタートアップを目指す零細企業のエンジニア採用事情
スタートアップを目指す零細企業のエンジニア採用事情
 
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来
 
Force.comシステム連携のデザイン考察
Force.comシステム連携のデザイン考察Force.comシステム連携のデザイン考察
Force.comシステム連携のデザイン考察
 
シラサギ紹介20170915
シラサギ紹介20170915シラサギ紹介20170915
シラサギ紹介20170915
 
OSC長岡
OSC長岡OSC長岡
OSC長岡
 
Osc広島2017
Osc広島2017Osc広島2017
Osc広島2017
 

SIer出身のエンジニアが 機械学習を取り入れた ASPサービス開発で学んだこと