ソフトウェア配信における機械学習の活用方法

ソフトウェア配信における機械学習の活用方法

現代のほとんどのソフトウェア チームにとって、ソフトウェアの配信は継続的なプロセスです。

ソフトウェアの配信は、もはや開発の最後にある明確な段階ではなく、毎日、あるいは毎時間ごとに展開が行われる、日々の開発中の継続的なプロセスです。今日では、ソフトウェア企業が効率的に開発と展開を継続できるように、時間を節約し、プロセスを最適化するために、機械学習プロセスがソフトウェア展開に適用されることが多くなっています。

機械学習 (ML) とは、パターンを認識し、データセットに基づいてモデルを開発するためのアルゴリズムを開発するプロセスを指します。これらの分析により、隠れている可能性のあるデータに関する洞察が得られます。それだけでなく、これらの機械学習ツールは、生成した予測に基づいて自動的にアクションを実行することもできます。

ML において特に強力な機能は、ビッグデータをリアルタイムまたはほぼリアルタイムで処理できることです。これは、いつでも何千人ものユーザーが同時にソフトウェアを使用する可能性があるソフトウェア配信の世界では、非常に価値があります。これらのユーザーにアップデートを展開することは、ユーザーが使用するデバイスやプラットフォームに関係なく、バグ修正や新機能を含むアップデートをすべてのユーザーが利用できるようにするために重要です。機械学習は、データ ログを分析し、エラーを検出し、世界中の何百万ものユーザーに渡される前に決定を下すことで、ソフトウェア配信プロセスを支援できます。

継続的テストと継続的インテグレーションは、ソフトウェア開発における中核的な概念となっています。このペースの速い開発スタイルは、ソフトウェア開発の従来の段階を打ち破ります。代わりに、ソフトウェアは明確な計画、開発、テストの各フェーズのセットとしてではなく、継続的にテストおよび開発される実際の製品として見なされます。

機械学習は、ソフトウェア配信のさまざまな分野で非常に役立つようになりました。 CI/CD 方法論を推進する環境で作業する開発者は、ソフトウェアの更新を迅速に提供できるため、コミットを安全にし、期待どおりに動作させ、不要なバグをすぐに生成しないようにするために必要なツールを開発者に提供することが不可欠です。重要。機械学習プロセスは、いくつかの方法でこの目標を達成するのに役立ちます。

開発サイクルの最後に個別のフェーズとしてテストするのではなく、開発プロセス中に継続的にテストすることが重要です。この場合、製品は計画、プロトタイピング、開発、およびコードの展開の各段階でテストされます。

これらのテストにはさまざまな形式があります。ユニット テスト、API テスト、UI テストなどはすべて継続的テストの範囲内に含まれます。ただし、ほとんどのテストは自動化できますが、すべての結果が同時に提供されるわけではありません。たとえば、UI テストは単体テストよりも実行に時間がかかることが多く、UI テスト スイートの一部には手動テストが含まれる場合があります。これにより、開発者がコードを送信してフィードバックを受け取るまでの時間が遅れる可能性があります。

開発者はコンパイラがコードを最適化することに慣れていますが、この方法はコンパイルに限定される必要はありません。ソフトウェアが複雑になるにつれて、ソフトウェアが展開される環境の予測が難しくなります。クラウドベースのサービスは通常、開発チームによって直接保守されない仮想サーバー上で実行されます。 1 つの解決策は、コンテナ化されたアプリケーションを使用して一貫性を保ちながら、機械学習プロセスを使用して、デプロイ先の環境に基づいてアプリケーション設定と環境構成を最適化することです。これにより、製品のパフォーマンスを最大化し、プラットフォームや環境間で開発を調整できるようになります。

機械学習は、コーディングガイドラインを強制するようにトレーニングすることもできます。大規模で成熟したソフトウェア製品は、何百人もの開発者が継続的に作業するため、時間の経過とともに扱いにくくなる可能性があります。コードをクリーンかつ標準化された状態に保つことで、開発者は調査や学習に時間を費やすことなく、どのコード単位を実行できるかを明確に把握できます。機械学習プロセスは、コミット内のコーディング ガイドラインとの相違点を検出し、コミットがコードベースに追加される前に書き換えの提案を作成することができるため、コードベースをクリーンな状態に保ち、人間によるレビューを必要とせずにガイドラインを適用できます。

ソフトウェア配信の高速化

機械学習は開発とテストのプロセスの自動化に役立ちます。テストの重要な部分はテストのメンテナンスであり、これはテストをソフトウェアと同期させるために必要です。これは、UI テストなど、頻繁に変更される領域では特に時間がかかる可能性があります。機械学習プロセスは、メンテナンス時間を短縮する自己修復テストに役立つだけでなく、最もテストが必要なコード領域を強調表示することもできます。

これにより、テスト スイート内のテストの価値が高まります。機械学習プロセスは、テストとテスト範囲の最適化に役立つ洞察を提供できます。機械学習は、すべてをテストする分散型アプローチではなく、意思決定プロセスにおいてテストが最も価値のある場所に関するデータ主導の洞察を開発者に提供します。

機械学習とソフトウェア開発の未来

機械学習は、ソフトウェア開発において比較的新しい、急速に革新が進む分野です。使用されるモデルとそのア​​プリケーションは、特にさまざまなプロセスで広く使用され、組み込まれるようになるにつれて、常に変化し、改善されています。ソフトウェア開発プロセスが自動化されるにつれて、これらの機械学習ツールにさらに大きな意思決定力が与えられるようになります。

現在、機械学習プロセスは主に意思決定プロセスを支援するために使用されています。疑わしいバグを報告したり、潜在的なエラーを予測したり、貴重な洞察を提供したりすることはできますが、この情報をどのように扱うかの決定は、多くの場合、依然として人間が行います。これは部分的には信頼の問題であり、部分的には伝統の問題です。ソフトウェアの開発と展開における多くのプロセスは、これまで常にそうであったように、人間の介入に依存しています。

機械学習とソフトウェア開発の将来を見据えると、機械学習プロセスを動かすアルゴリズムはますます洗練され、結果として得られるモデルはより多くのデータとより洗練された分析に基づいてさらに改善されるでしょう。

ある日、開発者は自分が作成したコードに対するテストを必要としなくなるかもしれません。代わりに、コードが記述されるとテストが自動的に生成され、予測分析によって、記述されたコードがコードベースに望ましい効果をもたらすかどうかが、コードがコミットされる前であっても開発者に通知されます。


<<:  清華大学の博士が「チップレット・アクチュアリー」サミットを提案!ムーアの法則に近づくほど、マルチチップ統合のコスト効率は向上する。

>>:  清華大学、DeepMindなどは、既存の小サンプル学習法は安定的かつ効果的ではないと指摘し、評価フレームワークを提案した。

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

人工知能は感情を認識するために使われている

感情認識技術は、人工知能を使用して人の表情から感情を検出する、数十億ドル規模の新興産業です。しかし、...

AI技術により人類の寿命が延びる

現在、50歳以上の人口は世界で最も急速に増加している年齢層となっており、当然ながら世界経済と医療制度...

OpenAI Soraについて知っておくべきこと

皆さんこんにちは、ルガです。今日も引き続き、人工知能 (AI) エコシステムに関連するテクノロジーで...

「2018年中国人工知能サミット」が9月6日に南京で開催される。

人工知能は未来をリードする戦略的技術として、世界の産業構造、経済活動、都市形態、そして人間のライフス...

...

5G時代の到来により、携帯電話はどのように人工知能を取り入れることができるのでしょうか?

最近、第51回国際コンシューマー・エレクトロニクス・ショーが米国ラスベガスで開催され、世界中の人工知...

シリコンバレーのエンジニアの間で大人気だったこの技術共有セッションで、ディディはどんなことを話したのでしょうか?

11月19日、滴滴出行は米国の新研究オフィスで地元の科学研究者向けの技術サロンを開催した。 Did...

報告書では、人工知能の新世代について再び言及しており、3つのキーワードが完全に解釈されている。

最近、「両会」の政府活動報告では、人工知能が再び言及された。「新世代人工知能の研究開発と応用を強化し...

...

もう一つの(深層)学習:自己教師あり学習は次の大きなものになるでしょうか?

自己教師あり学習入門[[251602]]確かに、ディープラーニングは、特に画像認識タスクにおいて、機...

中国はビッグデータ、人工知能、遺伝子技術などに関する知的財産法制の整備を加速させる。

中国共産党中央委員会と国務院がこのほど発表した「知的財産強国建設要綱(2021~2035年)」では、...

Google Gemini は Baidu を「騙し取っている」が、その背後にいる本当の犯人は誰なのか?

ノア著制作:51CTO テクノロジースタック(WeChat ID:blog)かつて AI の王者だっ...

5G、自動運転、人工知能はどの段階にあるのでしょうか?一枚の写真でわかる

世界で最も権威のあるIT市場調査・コンサルティング会社であるガートナーは8月29日、新技術の2019...

機械学習の仕組み - コード例

誰が生き残るかを予測するモデルをトレーニングします。 [注: ここでモデルを自分で構築するには、完全...

リアルスティールの実写版!山東省の3人組のチームが、最小遅延12ミリ秒の史上最速ボクシングロボットを開発した。

この男性が自分の動きでロボットを操作している様子を注意深く見てください。彼がパンチを繰り出すと、ロボ...