逐次処理とは、複数のデータや命令を決められた順番に沿って1つずつ順番に実行する処理方式です。直前の処理結果を次の処理で利用する場合に不可欠な方式であり、従来のコンピュータプログラムや時系列データを順に扱うモデルの基礎となっています。AIの分野では並列処理との対比や、推論時の生成ステップなどで重要な概念です。
逐次処理とは
逐次処理とは、データや命令を複数の工程に分け、それらを1つずつ決められた順番に従って実行していく計算方式のことです。
詳しく解説
逐次処理は、コンピュータの基本的な動作原理に基づいた処理方式です。ある処理の出力結果が次の処理の入力データとなるような依存関係が存在する場合、前段階の完了を待ってから次を実行する必要があります。AIやデータ処理の歴史において、時系列データや言語データを扱う初期のディープラーニングモデルであるRNNは、過去の状態を順次更新していくため逐次処理を前提として設計されていました。アルゴリズムが単純で予測可能性が高い一方で、データ量が増大すると計算時間が大幅に増加する傾向があります。
具体例・使われ方
例えば、自然言語処理モデルが文章を生成する際の推論プロセスが該当します。直前に出力された単語をもとに次の単語を1つずつ予測して生成する処理は逐次処理です。また、時系列データを過去から未来へと順番に読み込んで状態を更新していくRNNの処理も逐次処理の具体的な例です。
似た用語との違い
複数の処理を同時に実行する「並列処理」と対比されます。並列処理は処理同士に相互の依存関係がない場合に複数の計算資源を活用して高速化できますが、逐次処理は前の計算結果に依存するため同時実行ができません。AI分野では、逐次処理の計算コストが課題だったRNNに対して、処理を並列化しやすいTransformerが登場したことで、大規模な学習が短時間で行えるようになりました。
注意点
逐次処理はステップ数が多くなるほど実行時間が長くなり、最新のGPUのような並列処理能力に長けたハードウェア資源を十分に活かせないという限界があります。ただし、大規模言語モデルのテキスト生成(推論)のように、原理的に前の単語が決まらないと次の単語を生成できない工程では、現在でも逐次処理が回避できない重要な部分として残っています。