[51CTO.com オリジナル記事]序文: ちょっとした歴史 10年前、私が学校で上司と一緒に画像認識の研究をしていた頃は、10年後に機械学習技術がこれほど進歩し、AIの概念が人々の心に深く根付くとは想像もしていませんでした。ゴンザレスの画像処理は、私たちが夜遅くまで勉強した古典でした。OpenCV と C++ または MATLAB が唯一のツールでした。後に Libsvm と Liblinear が登場しましたが、卒業して働き始めたばかりの頃でさえ、少し複雑なアルゴリズムを実装したい場合は、論文やさまざまなブログを検索する必要がありました。その後、技術者の武器庫である Github が登場し、人生は短いので Python を使い始めました。また、Sklearn も登場し、アルゴリズムの人々のツールボックスには便利なツールがどんどん増えていきました。 ディープラーニングが開発されてから、同じような場面が再び繰り広げられました。最初は逆伝導を自分で書いて、テストするときに間違えて失敗するのではないかととても緊張しました。その後、Caffe、Theano、TensorFlow、mxnet、上位レベルのカプセル化keras、そしてさらに多くのモデル動物園が登場しました。周知のとおり、これらの人気のプラットフォームにより、研究者や産業界は多くの反復的な肉体労働から解放され、より創造的な研究やビジネスに知恵を注ぐことができ、多くの素晴らしい成果を生み出しました。 過去10年を振り返ると、人工知能は焼き畑農業の時代から第二次産業革命まで大きな変化を遂げてきたと言え、私たちはまた新たな夜明けの幕開けに立っているとも言えます。 1つ、パドルパドルとは これまで、ステージ上で歴史についてたくさん話し、いくつかの新興機械学習プラットフォームについて言及してきました。この記事では、新しい選択肢である Baidu の PaddlePaddle を紹介したいと思います。パドル(並列分散ディープラーニング)。 PaddlePaddle の本来の意味は「パドルで漕ぐ」で、ロゴもボートを漕ぐ二人の小さな人物が描かれていて、なんとも言えないかわいらしさです... 話を戻しますが、PaddlePaddleは2016年9月27日のリリース以来、1年以上も存在しています。その前身は2013年にBaiduが独自に開発したディープラーニングプラットフォームであり、Baiduの社内エンジニアによって開発・利用されてきました。これは、Google、Facebook などと同様に、産業の卓越性とオープンソースのもう一つの例と見なすことができます。 まず、世界的な視点からいくつかのデータを見てみましょう。一般的なオープンソースプロジェクトの人気度指数は Github から見ることができます。PaddlePaddle のデータは以下のとおりです (17.12.22 時点)。 -star(技術者からのいいねとみなすことができます)には 6099 人がいます。 -フォーク(これに基づいて独自の変更を加えたい)には 1599 人がいます。 -コミット数(コード更新数)は10073で、毎日数十件の更新があることを意味します。 - そして 90 人の貢献者。 このような注目度と更新頻度の高さから、現在人気の TensorFlow と比べても、全体的な人気にはまだ差があるものの、PaddlePaddle も急成長期にあります。 Github の直接投票に加えて、PaddlePaddle は、アーキテクチャやアプリケーションのレベルを含め、Zhihu などのプラットフォームでも白熱した議論を巻き起こしました。 Caffeの設計者であるYangqing Jia氏は、Caffeは「非常に高品質のGPUコード」、「非常に優れたRNN設計」、「設計は非常にクリーンで、抽象化が多すぎず、TensorFlowよりもはるかに優れている」、「要するに、非常に堅実なフレームワークであり、Baiduの開発スキルは依然として優れている」とコメントしました。これは、技術者同士の相互賞賛と見なすことができます。 CPU/GPU のスタンドアロン モードと分散モードも、開発者にとっての懸念事項です。結局のところ、元のパラメータ サーバーの作業により、TensorFlow は複数の CPU を適切にサポートできません。高速性やメモリ使用量の少なさなどの機能に加え、github ベンチマークの実行ポイントで言及されているこれらの利点も開発者の注目を集めています。 フレームワークとその機能の詳細については、いくつかの興味深い点をピックアップして、第 2 セクションで詳細に分析します。ユーザーが最も関心を持つのは、アプリケーションレベルです。第4章では、実際にどのような企業がPaddlePaddleを活用し、どのように活用されているかを明らかにします。多くの機能と利点が言及されましたが、実際には、PaddlePaddle には、より大きな影響力と役割を果たすために、より広範な開発者グループに働きかける必要があります。 そこで、第 3 セクションでは PaddlePaddle の欠点についても説明し、第 5 セクションではこの優れたツールの開発パスについて説明する予定です。 二、パドルパドル探検 ドキュメントとチュートリアルは、成功するオープンソース プロジェクトにとって不可欠です。ドキュメントとチュートリアルは、プロジェクトの使いやすさを保証し、詳細な調査を支援し、プロジェクトの成功を促進します。 PaddlePaddle についても同様で、比較的詳細な補助資料が独自に用意されています: http://www.paddlepaddle.org/ ドキュメント形式だけから見ると、基本的にマニアが翻訳したTensorFlowやKerasの中国語ドキュメントと比べて、PaddlePaddleのドキュメントはBaiduの第一線のエンジニアが翻訳したものなので、より親しみやすく信頼できると思いますか?文書の内容については、網羅性の観点から見ると、全体的に非常に複雑なので、いくつかの興味深い点を抜粋して紹介したいと思います。 -ドッカー Docker とは何かと聞かれても、純粋なアルゴリズムを扱う人は一般的に Docker にあまり馴染みがありません。しかし、virtualenv、anaconda、winpython については、多くの人が聞いたことがあるか、実際に使用しているはずです。 Linux でも Windows でも、科学研究ツールの反復は飛躍的に進歩しており (ゲームの更新よりもはるかに速い)、バージョン間の依存関係や構成の問題、さらにはインストールや使いやすさの問題などの問題が発生しています。特に Github 上の opencv インストール スクリプトにはたくさんのスターが付いているのを覚えています。私自身、6、7年前に scipy と numpy に騙されました。 より価値のある研究やビジネスタスクに多くの時間を費やすために、データおよびアルゴリズムの科学者は仮想化を使用してすべての人をさらに容易にします。仮想マシンとの違いは、Docker を使用することであり、パフォーマンスはローカルマシンに直接インストールする場合と同じです。パドルの公式ウェブサイトには次のように記載されています。 「PaddlePaddleを開発するには、次のものが必要でした。 A. Linux、BSD、Windows、またはMacOSオペレーティングシステムがインストールされたコンピュータ、および B.ドッカー。他のソフトウェアに頼る必要はありません。すべてのコンパイル ツールを Docker イメージにインストールするため、Python や GCC も必要ありません。 ” 簡単に言えば: 1. CPU または GPU バージョンのイメージをダウンロードします。 たとえば、CPUバージョンは docker pull docker.paddlepaddle.org/paddle です。 2. Paddleに適したプログラムを作成します。 https://github.com/PaddlePaddle/book を参照してください。 ちなみに、この本はdockerにインストールしてJupyter Notebookモードで実行することもできます。 3. 実行します (/home/work/train.py が 2 番目の手順で完了したプログラムであると想定します)。 cd /home/work docker run -it -v $PWD:/work パドルパドル/パドル /work/train.py docker を入力して対話的にコードを実行およびデバッグすることもできます。 -興味のある事業 たとえば、TensorFlow と Keras には独自のサンプル モジュールがあり、次の 2 つの主な機能があります。
たとえば、テキスト分類のタスクの場合、Keras は CNN、LSTM、CNN_LSTM、fastText など、imdb データの感情認識のための複数のソリューションを提供します。さまざまなネットワーク モデルと組み合わせの使用方法を示すだけでなく、わずかな変更を加えることで実際のビジネスで使用することもできます。画像に関しては、keras での minst 手書き数字認識に対応する関連タスクのデモ コードがさらにあります。 PaddlePaddle にも同様のモジュールがあり、次の 2 つの側面に反映されています。 1. PaddlePaddle – 上記の本 線形回帰から MNIST 手書き数字認識、CNN ベースの画像分類から NLP 分野の word2vec 実装 (NLP を行う人は、分散表現がワンホット表現よりも優れている点や、キング-クイーン=男-女の例を覚えておく必要があります) まで、あらゆるものを提供します。また、「パーソナライズされた推奨」、「感情分析」、「意味的役割のラベル付け」、「機械翻訳」などの一般的なアプリケーションも提供します。 アルゴリズムや機械学習の初心者として、今後の学習や研究を始めるためにどのようなプラットフォームを使用するかに関係なく、この本で提供されているビジネス シナリオの説明、アルゴリズムの背景とプロセスの紹介、データ セットはすべて読む価値があると言わざるを得ません。 より便利な URL は次のとおりです。 http://www.paddlepaddle.org/docs/develop/book/index.cn.html 信じられますか? 誠意にあふれた独自のビデオ教室も付いています。 http://bit.baidu.com/Course/datalist/column/117.html 2. モデルライブラリ http://www.paddlepaddle.org/docs/develop/models/README.cn.html これまでのチュートリアルが初級レベルだとすると、ここでのモデル ライブラリの役割は、実用的な産業上の問題を (大部分) 解決することであり、それが私が特に懸念していることです。 合計14のカテゴリーがあります: 単語埋め込み、RNN 言語モデル、CTR 推定、テキスト分類、LTR、構造化意味モデル、NER、シーケンスツーシーケンス学習、読解、自動質問応答、画像分類、オブジェクト検出、OCR、ASR。
見ましたか?検索技術から発展し、幅広い技術を統合してきた百度は、まさに NLP に関する徹底的な研究を行ってきました。事業ラインの拡大に伴い、画像・音声事業も大きな進歩を遂げています(投資したZuoyebangの音声検索、画像検索、OCRなど)。CTR推定は同社の広告事業の中核であり、LTRはウェブ検索の技術的な生命線でもあります。 もちろん、上記の分類は完全に厳密なものではないことに注意する必要があります。たとえば、シーケンスツーシーケンス学習は実際に ASR で使用できます。結局のところ、音声とテキストはほぼ 2 次元の情報フローであるため、実際にはそれらの間には類似点があります。 この場合、スペースが限られているため、この短い記事では最も重要な情報にのみ焦点を当てたいと思います。いわゆる最も重要なのは、Baidu が *** 投資、*** 出力、製品化されたビジネスを持っていることです。つまり、 LTR、CTR推定、シーケンスツーシーケンス学習に基づく古代詩生成、DeepSpeechなど。この種の情報はユニークであり、注意深く研究する価値があります。 1. 長期的 http://www.paddlepaddle.org/docs/develop/models/ltr/README.html 簡単な例としては、ユーザーが「Andy Lau」というクエリを検索する場合、俳優としての Andy Lau を見たいのか、歌手としての Andy Lau を見たいのか、ゴシップニュースで見たのか、それとも写真で見たのか、という点です。ニーズは人それぞれ異なるため、単純なルール システムではほとんどの人々のニーズを満たすことはできない可能性があります。言うまでもなく、これは依然として人気のあるクエリです。これらの人気のないクエリに遭遇した場合、検索できる(思い出せる)結果は多くなく、ルールベースのアプローチでは何千万ものユーザーのニーズを(正確に)満たすことができません。そこで、この問題を解決するために LTR が誕生しました。また、LTR は推奨および広告ランキングシステムにおいて重要な役割を果たします。 この記事では、ポイントワイズ、ペアワイズ、リストワイズなど、いくつかの異なる方法についても言及されています。もちろん、ポイントワイズ注釈はより難しく、5 段階のスコアリング方法が一般的に使用されていますが、再利用性に優れており、ペアワイズ注釈の方がはるかに簡単であることは言及されていません。さらに、注釈の効果を制御するための多くの手段も必要です。さらに、ユーザーのクリックは別の形式の(弱い)注釈です。これらはすべて非常に重要な主題です。 一般的に、PaddlePaddle はペアワイズ ランクネットとリストワイズ ラムダランクの特定の実装を提供します。コードとデータ セットがあるので、効果を確認できます。独自のデータをフォーマットして、既製のモデルをそのまま使用することもできます。このように、LTR は大企業に限定されたものではありません。垂直産業では、検索と推奨を行っているチームが数多く存在します。ルールに反抗しながらも、LTR ソリューションを試して人員を解放し、より良い結果を達成することができます。 2. クリック率の推定 http://www.paddlepaddle.org/docs/develop/models/ctr/README.cn.html CTR はクリックスルー率の略です。CTR 推定はクリックスルー率の推定であり、Baidu テクノロジーのもう 1 つの中核です。シナリオは次のようになります。Baidu、Tencent、Alibaba、Toutiao などは、本質的には広告会社です (Tencent Games を除く)。広告の本質は、ユーザーの行動を分析し、ユーザーのニーズに合った情報を表示することであり、CTR推定の目的でもあります。 つまり、ユーザーのクリック率を最適化することがこれらの企業の目標です。なぜなら、ユーザーが広告をクリックした場合にのみ、広告情報がユーザーのニーズに合っていると言えるためであり、ユーザーが広告をクリックした場合にのみ、企業が利益を上げることができるためです。言うまでもなく、広告業界には幅広い専門知識と技術が関わってきます。アルゴリズム関連だけでも、検索、並べ替え、不正防止、ユーザープロファイリング、NLP などがあり、その中でも最高峰なのが CTR 推定です。 最も初期の CTR 推定はロジスティック回帰に基づいていました。すべての特徴がセグメント化され、結合されて高次元のスパース特徴が得られ、その後 LR を使用してソリューションを並列化して CTR 推定が得られました。当時、Baidu の機能エンジニアリング チームにはおそらく数十人がいたでしょう。 LR の利点は、解釈可能性と容易な並列化です。また、記事では、DNN が特定のモジュールの予測を解決することから、より大きな役割を果たすように徐々に進化していることにも言及しています。 ここでのコードは、特徴学習用の DNN の利点と大規模なスパース特徴用の LR の利点を組み合わせた、ワイド & ディープ ラーニング モデルの実装を示しています。それでも、実験に使用できるデータがあり、また、独自のビジネスに役立つ形式でデータを準備することもできます。 3. 古代詩の生成 http://www.paddlepaddle.org/docs/develop/models/generate_chinese_poetry/README.html これは非常に興味深いものです。もともとは百度の社内ハッカソンのプロジェクトだったのですが、いわゆる写真を見て詩を書くというものが百度の携帯で製品化されたようです。 AlphaGoよりも前のAIプロジェクトのデモンストレーションです。画像認識技術を組み合わせて画像情報を抽出し、NLP 技術で古代の詩をモデル化して生成します。 当時 LSTM を使用する計画があったかどうかはわかりませんが、現在では LSTM を使用してこれを行うのは非常に成熟しています。外国人の同僚の中には、「氷と炎の歌」を見られない寂しさに耐えられず、このプログラムを使って新しい物語集を作った人もいます。私たち、燕と黄の子孫も古代の詩を創り出そうと試みることができます。気軽に人を騙すことは十分可能です。 4. ディープスピーチ https://github.com/PaddlePaddle/DeepSpeech DeepSpeech シリーズの論文が発表されたとき、音声研究に取り組んでいる同僚たちは非常に興奮しました。音声認識(ASR)は、比較的敷居の高いタスクです。大量のコーパスを収集する必要があり、トレーニングには大規模なマシンを使用する必要があり、非常に専門的な才能のある人だけがこれを行うことができます。小規模なワークショップでは、まだ比較的困難です。 http://proceedings.mlr.press/v48/amodei16.pdf には、全体的なアーキテクチャと効果に関する比較的詳しい説明があります。 アルゴリズム、特にディープラーニングに携わる者なら誰でも、「錬金術」という言葉を知っています。優れたアーキテクチャと手法は、前述の理由からも、大企業から生まれることが多いのです。論文の秘密を垣間見たり、具体的な実装を目にしたりするのは、とても幸せなことです。 - コマンドライン方式 http://www.paddlepaddle.org/docs/develop/documentation/zh/howto/usage/cmd_parameter/index_cn.html スレッド数、マシン数、GPU または CPU モード、ラウンド数、バッチ処理、ビーム検索方式、非同期または同期、パラメータのスパース性チェック、乱数方式など、多くの柔軟なコマンドライン制御パラメータが提供されていることがわかります。 もちろん、デフォルトの方法を直接使用することも便利です。ただし、パーソナライズされたオプションが非常に多いため、経験豊富な開発者は実際に多くのカスタマイズを行うことができます。これにより、Paddleは業界の実用的なアプリケーションのプラットフォームであると感じています。初心者のニーズを満たすだけでなく、初心者からベテランへの変換プロセスでより多くの選択肢を提供することもできます。 -分散トレーニング http://www.paddlepaddle.org/docs/develop/documentation/zh/howto/usage/cluster/cluster_train_cn.html ファブリック クラスター、OpenMPI クラスター、Kubernetes スタンドアロンおよび分散、AWS 上に分散。 これまでの議論の多くは、スタンドアロン バージョン、個人の愛好家や小規模企業が実用的な問題を解決するためのニーズ、および PaddlePaddle を使用してビジネス ニーズを満たす方法に基づいています。データ量や会社の業務規模が大きくなりすぎて、1台のマシンでは処理しきれなくなったらどうすればいいでしょうか? データ量が多い場合、アルゴリズムはデータ並列とモデル並列に分けられることは誰もが知っています。Hadoop はデータ並列の問題を解決するのに優れていますが、モデル並列が絡むと、データのスケジューリング、デッドノードの制御、反復速度などの問題が前面に出てきます。アーキテクチャレベルではなくアルゴリズムレベルを主に研究している者として、ほとんどの人はフレームワークが問題を解決してくれることを期待しています。 さて、フレームワークとしての PaddlePaddle はこれらの問題を解決し、実験でもその有効性が実証されています。もう質問しないで、ただ使ってください :) PaddlePaddle は大きなフレームワークとして、実は深く理解する価値のある側面がたくさんあります。ここでは私が特に興味を持った点をいくつか紹介し、残りは興味のある方にお任せします。 3. パドルパドルのデメリット PaddlePaddle には多くの機能があります。セクション 1 では、専門家から開発者への推奨事項を見てきました。セクション 2 では、独自の機能についても見てきました。しかし、現実には、PaddlePaddle の利用範囲や雰囲気には、まだ改善の余地が大いにあります。理由をよく考えてみると、理解するのは難しくありません。 1. PaddlePaddle と TensorFlow は似たような機能を持っていますが、後発です。 比較すると、TensorFlow はすでに基本的な画像認識、テキスト分類、その他のビジネスでタスクをうまく実行できることがわかります。ベンチマークの比較から、PaddlePaddle はより小さなビデオメモリとより高速でタスクを完了できますが、TensorFlow の先行者利益はユーザー獲得にとって依然として重要です。結局のところ、私たちの多くは、寿命が短くお金がたくさんある機械学習研究者です :)。学習と移行のコストは、PaddlePaddle を使用する際の最大のコストです (学習コストはまったく高くありませんが)。小規模なビジネスでは、マシンのコストは無視できます。 2. コミュニティ環境や雰囲気が不十分 企業内の開発者間でも、全員が同様の技術スタックを使用することが重要であり、そうでないとコミュニケーションコストが高くなってしまいます。グローバルな視点で見ると、より良いコミュニティ環境は、アーキテクチャ開発者、アプリケーション開発者、ビジネスユーザーに貢献し続けるでしょう。しかし、わずか1年余りで、このコミュニティを発展させるための良い仕組みは確立されていません。 3. 製品よりも技術に重点を置く 私たちは常に、百度の技術は最高、テンセントの製品は最高、アリババの運営は優れていると言ってきました。テクノロジーの分野で働く人々は比較的考え方が単純で、そのほとんどは「良いワインには藪は必要ない」と固く信じています。しかし、オープンソースプロジェクトなので、自分だけで使うだけではだめです。もっと多くの人に使ってもらいたいなら、上記のポイント1と2を組み合わせて、外部環境が不利なため、製品をより便利で使いやすいものにして、不利な傾向を変えることができます。 2 番目のセクションで述べたように、パドルのドキュメントとモデルが完成し、いくつかの競技会が開催されたことで、パドルには独自の特性と環境の改善が見られるようになったと言わざるを得ません。 4. 実際のビジネスでの使用 上記では理論的な内容について多くを話しましたが、このセクションでは実際のビジネスにおける PaddlePaddle の使用について説明します。 1. 大相、鳳潮、IDLの使用 PaddlePaddleの前身は、2013年にBaiduが独自に開発したディープラーニングプラットフォームであり、Baiduの社内エンジニアによって開発・利用されてきました。世界の主要なテクノロジー企業のオープンソースディープラーニングプラットフォームは、それぞれ独自の技術的特徴を持っています。Baiduの場合、検索、画像認識、音声意味認識と理解、感情分析、機械翻訳、ユーザーポートレート推奨など、複数の分野で独自のビジネスと技術の方向性を持っているため、PaddlePaddleはより包括的で、比較的機能が充実したディープラーニングフレームワークです。 2016年、PaddlePaddleは、テイクアウトの配達時間の推定、ネットワークディスク障害の時間の予測、ユーザーが必要とする情報の正確な推奨、大規模な画像認識と分類、文字認識(OCR)、ウイルスとスパムの検出、機械翻訳、自動運転など、Baiduの30を超える主要な製品とサービスに大きな役割を果たしました。フードデリバリー業界を例にとると、配達員は店員が料理を準備するのを待つのに多くの時間を費やしています。BaiduはPaddlePaddleに、店員の顧客の流れ、料理の準備時間、さまざまな時間帯の注文量などのデータを提供しています。Baidu Takeoutの内部システムは、膨大なデータをディープラーニングで処理した後、各店員の料理の準備時間を推定し、配達員にタイムリーに通知して配達効率を向上させることができます。システムはまた、食事の受け取りと配達のルートをより合理的に計画することもできます。 2. 個人開発者 ケースリンク: https://zhuanlan.zhihu.com/p/29177825 「AI桃色美人コンテストマシーン」、いやぁ、この名前は鮮やかすぎる。しかし、その一方で、このプラットフォームの使いやすさも示しています。かつて、機械学習は「秘密の部屋で世間に知られていない」という言葉で説明されていました。しかし、現在の傾向では、参入障壁はどんどん下がり、オープンソースツールを簡単に使用し、それを自分のビジネスサポートと組み合わせて、実際のタスクを便利かつ効率的に完了できる人が増えています。他の新製品もとても楽しみです。私がよく言うのは「機械学習の活力はビジネスとの融合にある」という言葉です。 V. 展望 これを書いていると、ほぼ 10 年前に OpenCV を微調整していた夜々を思い出します。ああ、今はなんて便利なんでしょう。アルゴリズム、製品、管理にもっとエネルギーを集中でき、新しい論文を読んだり、新しいビジネスを理解したり、新しい経験を試したりすることにもっと時間を費やすことができます。 小さな視点から見ると、アルゴリズムとプラットフォームの反復と開発により、アルゴリズム開発者およびマネージャーとしての私は、より効率的に作業できるようになり、個人的な好奇心や追求を満たすための時間が増えました。より広い視点から見ると、アルゴリズム、プラットフォーム、ビジネスの反復と発展は、私たち一人ひとりに異なる世界をもたらしました。 機械学習が一般家庭に浸透し、私たちの仕事や生活がますます良くなることを願っています。 [51CTO オリジナル記事、パートナーサイトに転載する場合は、元の著者とソースを 51CTO.com として明記してください] |
<<: 人工知能、モノのインターネット、新エネルギーなどへの投資ガイド。
[[226531]]人工知能の発展において、人材の確保は間違いなく重要な鍵となります。人工知能は、...
コミュニケーションツールが進化するにつれ、電話や携帯電話は人々が情報を素早く共有する能力に大きな影響...
[[257320]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...
ディープラーニングが進歩するにつれて、ニューラルネットワークはますます大きくなっています。たとえば、...
現在、人工知能は人類に大きな発展の機会をもたらす一方で、さまざまなリスクや課題も伴っています。科学技...
CVPR 2021 車線検出論文: 車線から目を離さない: リアルタイムの注意誘導型車線検出。紙:...
[[241153]]キャシー・コジルコフマシンハートが編集参加者: Gao Xuan、Lu Goog...
3D 生成の分野では、テキスト プロンプトに基づいて高品質の 3D 人間の外観と形状を作成することは...
翻訳者 |ブガッティレビュー | Chonglou誰もが生成AIと大規模言語モデルの力を活用したいと...