AIの世界でもエンジニアの役割は大きい
はじめまして、JDSCの高橋です。
いきなり関係のない話ですが、私は学生時代から囲碁を続けています。とはいえプロではないのでアマチュアの大会に出ていました。囲碁に関しては色々語ることができますが、対局よりも研究が好きなタイプでした。例えば囲碁は序盤ではある程度布石(将棋で言うところの戦型)を決めておくことで得意分野に持ち込んだり知識勝負に持ち込めるので、当時流行していた布石の研究やそこから実践例の少ない変化手順を用意していました。
そんなある2016年、突如現れたのが囲碁AIの「AlphaGo」(Google DeepMindによって開発されたコンピュータ囲碁プログラム)です。もともと囲碁AIがプロに追いつくのは10〜20年後とまだまだ先だろうと思われていました。しかし当時世界最強と言われていた韓国のイ・セドルさんとの5番勝負を4勝1敗と圧倒しました。その意味不明な強さはプロだけでなく我々アマチュアも驚くほどで、人間が悪いと判断した手が実は悪くなかったなど底知れないインパクトを与えました。そしてAIの打った手は常識から外れた手が多く、皆で真似して打つようになりました。
当時私はAIを使って無限に囲碁を研究したくなりました。「神の一手」と呼ばれるような完全な正解かそれに近いところまで知ることができると思うとワクワクした記憶です。そこまで行かなくても自分の出した答えに対してAIがどう判断するかというのが気になっていました。
とはいえ「AlphaGo」はGoogleのリソースだからできたことで、一般人にはまだ先の話と思っていました。ところが半年後にはアマチュアトップクラスのAIが手元のPCで動かせるソフトも出てきましたし、現在ではプロを凌駕する複数種類の囲碁AIが出てきています。
そんなわけでAIに興味を持っていたことからエンジニアを志し、情報系の専門学校に入学しました。大学でもまともに勉強してこなかった私にとっては、新鮮な環境でプログラミングに楽しく取り組むこともできました。そして無事エンジニアとして就職することができました。
AIの発展によって、解決しなければならない多くの問題に対して新しい解決策が見つかるようになりました。例えば、環境問題や医療分野での診断、自動運転技術など、AIが注目される分野は多岐にわたります。
略歴
情報専門学校卒業後、SI企業に入社。
Webアプリケーションエンジニアとして自社プロダクト開発や飲食店の自動発注システム開発などを担当。
その後データを扱った仕事がしたいと思い、JDSCに入社しました。
現在何をしているか
今のプロジェクトは物流の在庫最適化と業務の自動化を行っています。小売業では在庫の欠品や過剰在庫、また発注業務が属人化するような課題があります。そこで在庫を適正にしつつ、物流コンテナに効率よく詰め込む発注業務を半自動化するシステムを作っています。
その中で私はWebアプリケーション開発をメインに担当しています。例えばある業務要件のために機能を追加したいとなったときに、設計・実装からテストまで主体となって進めています。プロジェクトによってはフロントエンド重視やバックエンド重視のものがありますが、私のプロジェクトではバックエンドに重要な計算ロジックが含まれているので、そこをメインに変更・追加していくことになります。他にもパフォーマンス改善のためにSQLの見直しやアプリケーションコードの手直しなどやるべきことは多いです。
苦労するのは結合部分です。システム内で複数のモジュールが動いているので、結合部分は担当者とのコミュニケーションが重要になってきます。ただ担当箇所が完全に切り離されているわけでもなく、例えばアプリケーション担当者がデータパイプラインを修正することもできます。それがシステム全体の理解に繋がりますし、担当箇所以外の仕事も経験する機会があるのは非常にありがたいです。
また、システムには需要予測モジュールや最適化モジュールも合わせて動いています。こちらはデータサイエンティストが担当しているのですが、そういったものがどんなインターフェースでどのように動いているのかを聞いたり相談したりする機会もあります。実際ほとんど理解はできませんが(笑)それでも手元で動かしたり、パラメータを色々変えたりして試してみるのはすごく面白いです。特に最適化計算を現実世界に落とし込むのはパラメータが多すぎて、可能性を感じつつもまだまだ難しさが勝ります。
JDSCの魅力
冒頭で、AIって凄いよね!という話をしましたが、AIが全てと盲信して良いわけではありません。例えば需要予測モジュールでは過去の時系列データを使って予測しますが、未来が過去と全く同じかと言うと同じでないことが多いです。なので需要予測結果を使って業務を自動化したり、過去の傾向を見える化してあげるなど人間がやることをサポートしてあげることも大事になってきます。
そういった面でデータサイエンティストだけでなくエンジニアの役割は大きいです。AIに詳しいのが一番ですが、全くわからないという人でも三位一体(事業開発・データサイエンティスト・エンジニアが共同する体制のこと)でプロジェクトを進めるJDSCでは、エンジニアリングだけでなく、他領域まで染み出して知見を吸収できることは非常に魅力的と思います。エンジニアリングだけではなく、データサイエンスや事業開発にもご自身の領域を広げていきたい方にはオススメの会社です。