Tinkoff BankプログラマーのAndrei StepanovとPythonおよびMLについてのインタビュー

PyCon Russiaのスピーカーとの一連のインタビューは、Tinkoff Bankの開発者およびアナリストであるAndrei Stepanovとの会話を続けています。 Andreiと、銀行のインフラストラクチャにおけるPythonの位置、機械学習、および音声認識技術について話しました。







-アンドレイ、どうやってPythonで開発を始めたのですか?



-基本的に、私の業界の多くの人がそうであるように、MLを通じて。 しかし、これは正直な答えではありません。 私はその前からPythonが好きでした。 また、ShADには教室がありました。 最初は構文が怖かったのですが、それ以前はCに似た言語しか勉強していませんでした。その後、スペースとタブに依存してプログラムを構成することは完全に合理的ではないように思われました。 でも、それに慣れて、シンプルさが好きになり、しばらくして、それが本当に豊かで多面的な言語の種類、それでどんなクレイジーなことができるのかを理解するようになりました。 これは職場で頻繁に行う必要のあることではありませんが、使用するツールが十分に柔軟で強力であることを認識しておくと便利です。



-アナリスト-開発者という興味深いポジションがあります。 分析開発者は何をしますか? 今何に取り組んでいますか?



-銀行にはアナリスト開発者はあまりいません。 それはビッグデータの専門家と産業開発者の間のクロスです。 ここでは、美しく維持可能なコードを記述し、データを操作し、ML実験を行い、結果を分析し、それに応じて数学モデルを更新できる必要があります。 さて、または現在のアプローチが機能しない場合、問題を解決するための新しいアプローチを探してください。 そして、それらが機能し、すべてがビジネス側で問題ない場合は、実動用のプロトタイプを実装してみてください。 したがって、技術スタックは非常に広いです。 この作業は面白くて面倒です。新しいテクノロジーについて多くのドックを読んで、原則としてMLの分野のニュースと生産スタックの選択されたテクノロジーをフォローする必要があります。



現在、銀行の音声認識プロジェクトに取り組んでいます。



-Tinkoffはどのテクノロジーを使用していますか? MLはたくさんありますか? Pythonのインフラストラクチャの場所は何ですか?



-使用しているもの:Python、Tensorflow、Docker、Protocol Buffers、GRPC、Cython。 もちろん、他のチームには異なる技術スタックがある場合があります。



多くのMLがありますが、生産ではシンプルで高速な、よく解釈されたMLモデルが特に高く評価されています。 また、トレンディなディープラーニングも開発しています。 音声認識、対話システム-これらはすべて、ディープニューラルネットワークを使用しています。 ニューラルネットワークを使用すると、将来的にクライアントの製品やサービスを作成する際に質的な飛躍が得られるため、特に注意を払っています。



これまでのMLソリューションのインフラストラクチャにおけるPythonは、初期モデルの実験とトレーニングのための言語の役割を担っています。 ML制作に必要なものがすべて揃っているので、このトピックを探っています。 理想的には、アナリストが訓練されたモデルをエクスポートし、計算のための迅速な外部APIを提供できるツールが欲しいです。 ディープラーニングには既に一部が存在します。現在、Tensorflow Servingについて説明しています。 一般的に使用されるすべてのMLモデルにこのようなツールが存在すれば、クールです。





昨年のPyConで、GoogleのMartin GornerがTensorFlowについて詳しく説明しました



-銀行のコードを書くのはどれほど怖いですか?



-RnDでは、まったく怖くないですが、そうすべきですか? :)個人データとお金に近い人はおそらく悪いでしょうが、彼らはプロセスをより外部からコントロールしています。



-私の知る限り、Tinkoffはロシアで最初に音声キャストで顧客を認識する技術を導入しました。 そうですか? 開発に関与しましたか? この機能について詳しく教えてください。



-私が正しく理解していれば、あなたはNICE Systemsとの共同プロジェクトについて話しています。 2014年に音声認識を導入しましたが、これはTinkoffで働く前に起こりました。



このテクノロジーの導入により、クライアントへの追加の質問の数が減り、さらには不要になりました。 通話時間は通話ごとに平均40〜60秒短縮され、トラフィックを大幅に節約できます。



音声認識システムは、顧客が銀行に電話をかけるたびに同じ質問に答える必要がないため、サービスレベルを改善します。オペレーターはすぐに問題を解決するため、サポートサービスの効率が向上します。 また、音声バイオメトリクスにより、運用中のセキュリティレベルが向上します。



-音声アシスタントと音声技術が通常の対話者になるのを待つ価値はありますか?



-時間が経つにつれて、私はそう思う。 しかし、これにはどれだけの時間が経過しなければならないのか、誰にもわかりません。



GPGPUの分野における最新の開発を考慮しても、すべてが現代の鉄の計算能力と効果的なニューラルネットワークアーキテクチャの開発にかかっています。 鉄の開発がこの分野で役立つとはいえ、主な問題はトレーニングでさえありませんが、何百万人ものユーザーに、データに基づいてニューラルネットワークを計算する計算時間を提供します。 最近導入されたGoogle Tensor Processing Unit(TPU)およびNVIDIAの新しいアーキテクチャのGPUコアにあるディープラーニング専用のコンピューティングユニットは、この問題を部分的に解決できますが、開発者や科学者がこれらの技術を習得するには長い時間がかかります。



はい、人類はAIの分野で、たとえば10年前と比較して大きな一歩を踏み出しましたが、まだ本格的な人工知能とはほど遠いと思います。



-あなたの意見では、これらの技術は今後どのような方向に発展しますか?



-近い将来、伝統的に人々がコンピューターよりも優れていると考えられている分野(これらは単なる音声アシスタント、チャットボット、対話システム)でAIの助けを借りて人間の能力が深刻に強化されると思います。 インタラクションインターフェイスは、やや人工的なコンピューターの「外観」を保持します。つまり、任意のトピックに関する音声アシスタントとの自然な会話は依然として失敗しますが、固定ドメイン内では、自然な会話でさえ会話が行われます。



-フィンテックの世界で何が起こっているかご存知でしょう。 この業界でのPythonの役割は何ですか?



-Pythonは、MLを試すための優れた言語としての地位を確立しています。 実稼働環境ではそれほど単純ではありません。現在、主に速度について話しています。 ただし、コードの計算集約的な部分は、CythonまたはC拡張として常に実装できます。 その後、速度に問題はありません。 Pythonには非常にクールなコミュニティがあり、外部パッケージでいつでもニーズを解決できます。



-作業を整理するためにどのようなツールを使用しますか(時間計画、ワークスペースの整理など)。



-最低限の必需品を備えたほとんど空のデスクトップを好みます。 計画のために、紙と頭を使用します。長期的なタスクには、時々Google Keepを使用します。



-専門的なブログを読んでいますか? スキルの向上のために同僚にどのような情報リソースを推奨できますか?



-MLとディープラーニングについては、 Andrej KarpathyWildMLのブログが好きです 。 確かに、彼らは長い間更新されていません。 あるフランス人からのクールなTensorflow ブログもあります。 また、Python 3でのメタプログラミングに関するDavid Beazleyのビデオチュートリアルもとても気に入りました。また、Pythonと標準ライブラリには非常に優れたドックがあり、いつも新しいものが見つかります。



7月17日にPyConRuで、 Andreiは「PhDを使用しないPythonでの音声認識」という大規模なワークショップを開催します。






会議を可能にしたスポンサーに感謝します。ゴールドスポンサー-AdcomboCIANのエネルギーと良い気分のパートナー、シルバースポンサー-Rambler &Co 、ブロンズスポンサーDomKlik - MediaScopePython Software Foundationをサポートしていただきありがとうございます。



All Articles