WEB+DB PRESS plus
Practical Developers
――機械学習時代のソフトウェア開発[ゲームアプリ/インフラ/エッジ編]
- 飯塚健太郎,大川徳之,keno,古賀理,田中一樹,徳永拓之,西田圭介,森田和孝 著
- 定価
- 2,618円(本体2,380円+税10%)
- 発売日
- 2019.8.9[在庫なし] 2019.8.2
- 判型
- B5
- 頁数
- 176ページ
- ISBN
- 978-4-297-10744-4 978-4-297-10745-1
サポート情報
概要
ソフトウェア開発の今に焦点を当て,実践で活きる本物の事例をまとめた入門書。第一線の開発者による全面書き下ろし。
AIを筆頭に,機械学習/深層学習分野の勢いは加速する一方です。そんななか,多岐にわたる実行環境,モデル学習や推論の段階で異なる特性を持つ各成果物,精度と性能,多種多様な大規模データ処理など,今の機械学習システムの開発は,従来のソフトウェア開発とは異なる面を持ち合わせています。
本書では,そんな「機械学習時代のソフトウェア開発」にスポットを当て,とくに注目度の高いゲームアプリ,大規模インフラ,エッジの三つの切り口で技術情報を徹底解説。合わせて,気になる開発環境例も盛り込みました。時代へ適応し技術力の進化を遂げたい,そんな開発者の方々に向けて,機械学習を取り込んだシステムの全体像から実用的な開発テクニックまで,これまでと大きく変わる部分,意外と変わらない部分が見えてくる技術情報満載でお届けします。
こんな方にオススメ
- 機械学習を用いたソフトウェア開発に関心をお持ちの方々
- 機械学習のサービスへの活用/運用の検討に携わるデータサイエンティスト,機械学習エンジニアの方々
- 広く機械学習/深層学習に興味をお持ちの情報系をはじめとした学生の方々
目次
Part 1
[稼働中のサービスを加速させる]
ゲームアプリ『逆転オセロニア』×機械学習/AIの着眼点
──企画/設計/開発/リリース,一部始終
- #01:機械学習とソフトウェア開発のコラボレーション
──ゲームアプリの開発事例 - #02:クラウドを駆使した機械学習システム
──GCPを軸にしたアーキテクチャの俯瞰 - #03:機械学習を取り込んだシステムの基本的な開発工程
──AI技術をどのように事業価値に結びつけるのか - #04:[実践で活きる]機械学習を用いたソフトウェア開発
──要所,課題,解法 - Column (ちらっと)開発環境披露
Part 2
[シンプルを貫く。指針とツール]
大規模データのインフラ構築/運用
──世界1位の求人検索エンジン「Indeed」
- #01:新分野へ切り込むチームと既存インフラとの決別
──大規模なデータ群を捌く。小さなチーム「Elephant」 - #02:データ処理インフラの全体像
──6つのサブシステムの関係 - #03:コストと開発速度のトレードオフ
──開発コストと計算資源 - #04:強力&便利なツール陣
──AWS CodeDeploy,Jenkins,Apache Spark - Column Imhotep
──Indeedが作ったOSSのデータ開発基盤 - Column 開発者のマシン&開発環境
Part 3
[フィンテック/金融業界発]
大規模データ処理の自動化
──セキュリティ強化のためのサーバーレスアーキテクチャ
- #01:基本構成を考える
──システム構成,基盤部分のツール,業務フロー - #02:効率化の基盤を整える
──コンテナ技術,秘密鍵管理,ワークフロー管理,バルク型転送 - #03:本番環境で自動化を実現する
──本番環境のコンテナ,デプロイ,スケジュール実行 - Column 職場の作業環境
- Column docker-syncによる高速化
- Column 環境変数を初期化する起動スクリプト
- Column aws-vaultとKeychain
Part 4
[エッジで極める]
深層学習推論の高速化
──限りある演算能力を駆使し,重い演算を動かす技術
- #01:エッジデバイス上での深層学習推論実行の基礎知識
──エッジデバイスの種類,高速化の必要性,高速化ツールチェイン - #02:エッジコンピューティング最前線の開発環境
──開発用の実機からアセンブラライブラリまで - #03:[実例から学ぶ]モデルの高速化ワークフロー
──デバイス特性の調査,計算グラフの抜き出し,コードの変換,クロスコンパイル,続く仮説検証 - #04:深層学習ソフトウェア開発プロジェクト特有の事情
──深層学習とソフトウェア開発の今の関係 - #05:エッジデバイスにおける開発効率
──エッジデバイスをいかに動かさずに済ませるか - #06:これまでのソフトウェア開発との差異
──エッジで深層学習を取り入れるなら - Column 機械学習と私
Part 5
[特急入門]
深層学習コンパイラTVMの開発
──深層学習の超基礎から開発環境,一線の機能開発まで
- #01:[すぐわかる]AIを支える三大技術
──アルゴリズム,ソフトウェア,ハードウェア - #02:深層学習コンパイラTVMの基礎知識
──特徴,アーキテクチャ,活用事例 - #03:基礎からわかるVTA
──AIチップからどのようなAIプログラムが生成されるか - #04:OpenCLですぐ試せる。TVMと高位合成
──FPGAのAI処理回路生成に挑戦 - Appendix:深層学習の研究/開発のための開発環境
──大量のデータや高性能ハードウェアとの格闘,開発時間とトライ&エラー
Part 6
[消費電力は数W以下]
エッジの深層学習と技術選択
──量子化ネットワーク×FPGAの世界
- #01:[ゼロからわかる]FPGA&量子化の基礎知識
──エッジで実現する深層学習のアプローチ - #02:LeapMindの開発環境
──エッジ×深層学習のためのモデル学習環境 - #03:[FPGA&量子化の今が見えてくる]Blueoil基本解剖
──深層学習の推論をエッジで楽々実行 - #04:量子化ネットワークの応用
──惑星探査機の自撮り,点検作業へ飛ぶドローン,ブラウザ上での顔認識 - Column Blueoil開発ストーリー
- Column Emscripten対応の思い出
プロフィール
飯塚健太郎
埼玉大学工学部卒。KLabを経て,2018年にLeapMindに入社。現在はBlueoilチームのマネージャーとしてプロジェクトを牽引している。趣味はコンピュータいじり,Make,文化史,育児。
URL:https://iizukak.com/
Twitter:@iizukak
大川徳之
東京大学情報理工学系研究科数理情報学専攻修士課程卒。現在はIdeinにて主にエッジデバイスにおける深層学習の推論高速化を担当している。拙著『関数プログラミング実践入門』(技術評論社)を書く前の時期は,仕事でHaskellを使うことになるとはと思っていたものだが,今はまさか仕事でコードゴルフまですることになるとは,何の引き出しを使うことになるかわからないものだと思っている。
Twitter:@notogawa
GitHub:https://github.com/notogawa
keno
DeNA所属のエンジニア。元数学徒。ゲーム『FINAL FANTASY Record Keeper』を開発/運用していたが,2018年からはその経験を生かしてAIによってゲームのおもしろさの軸を増やしたり,ゲーム作りの方法を変革する側に。『逆転オセロニア』へのAI導入では学習高速化,学習管理の仕組み作り,実サービスのためのアーキテクチャ設計と実装などを担当。
Twitter:@keno_ss
古賀理
求人検索サイト「Indeed」で働くフルスタックエンジニア。2018年から米国テキサス州オースティンにある本社勤務。学生時代は競技プログラミングばっかりやっていたが,数学力では勝てない相手が多過ぎるのでエンジニアリングで勝負することにした。好きなものは静的型付け。
Twitter:@osa_k
Mastodon:@osa_k@social.mikutter.hachune.net
GitHub:https://github.com/osak/
田中一樹
2017年にDeNA入社後,データサイエンティストとしてアプリゲーム『逆転オセロニア』に関するAI機能の開発に従事し,機械学習,強化学習,データサイエンス技術の研究開発/設計から実応用に携わる。現在は,多様な事業へのデータサイエンス活用を目指した研究開発や課題発掘に従事。『速習 強化学習 −基礎理論とアルゴリズム−』(共立出版)の翻訳に携わった。学生時代からデータ分析の大会に没頭し複数大会で入賞。Kaggle Master。
Twitter:@ikki407
Facebook:https://www.facebook.com/ikki.tanaka.1
徳永拓之
2007年東京大学大学院情報理工学系研究科修士課程修了。ヤフー,Preferred Infrastructure,スマートニュースを経て,2018年からLeapMindに勤務。機械学習,自然言語処理,画像処理などに興味がある。
URL:https://tkng.org/
Twitter:@tkng
西田圭介
フリーランスのソフトウェアエンジニア。複数のスタートアップで社内データの分析やKPIモニタリングなどを担当してきた。好きな言語はPython。著書に『Googleを支える技術』『ビッグデータを支える技術』(共に技術評論社)がある。
森田和孝
2007年東京大学大学院情報理工学系研究科数理情報学専攻修士課程修了。同年日本電信電話入社。以来,システムソフトウェア全般の研究開発に従事。仮想化技術,ストレージ技術に興味を持ち,クラウド黎明期に仮想マシン用分散ブロックストレージのオープンソースプロジェクト(Sheepdog)を立ち上げた。最近は深層学習関連の研究開発に取り組んでおり,深層学習コンパイラTVMのコミッターを担当している。