DeepSeekはトレーニングコストが従来の1/10。それには冗長計算の8割をカットするという努力が必要だった。米国政府は中国に対してGPUの制限をかけ、それをDeepSeekチームは突破をしたと量子位が報じた。
冗長計算を8割カットしたDeepSeek
DeepSeekがなぜ1/10のトレーニングコストでGPTと肩を並べる大規模言語モデル(LLM)を開発できたのか。その答えはひとつではない。その技術詳細を開設した「DeepSeek-V3 Technical Report」(https://arxiv.org/abs/2412.19437)は、最適化技術のカタログのようになっている。開発チームはありとあらゆる最適化を試みて、最終的に冗長計算の80%を削減することに成功したと主張している。
GPUをハックしたDeepSeek
その中でもハイライトとも言えるのが、CUDAから下りてPTXによるプログラミングを行ったことだ。
GPUを開発しているNVIDIA(エヌビディア)がトップランナーでいる理由は、製造するGPUの性能が優れているということだけではない。もうひとつ、CUDA(Compute Unified Device Architecture)と呼ばれるプログラミング環境を2007年にリリースしたことが大きい。
GPUは並列計算を行う半導体だが、並列計算をプログラミングすることは簡単ではない。タスクをうまく分散させる設計にしないと、通常のCPUを使うよりも遅くなってしまうことすらある。しかし、CUDAには豊富なライブラリが用意されているため、エンジニアはC++など自分が使い慣れているプログラミン言語の中から、CUDAのライブラリを呼び出すだけで、並列計算が高速で行える。
この利便性から、多くの人がNVIDIA製品を求めるようになっている。
米政府の規制により能力が半分に
DeepSeekが開発された当時、NVIDIAの最高性能のGPUは「H100」だった。しかし、H100は戦略物資として、米政府により中国向けへの輸出が禁止をされた。そこでNVIDIAは、性能を半分程度に落とした「H800」を製造し、これを中国向けに輸出をした。中国のDeepSeekは、この性能が1/2のH800を使うしかなく、このH800を2048枚使って、DeepSeekは開発された。
ところが、面白いのは、このH800の性能の落とし方だ。NVIDIAはH100の通信部分を改造して帯域制限を行い、データを1/2しか送受信できないようにした。つまり、演算性能はH100と同じなのだが、データが半分しか送れないために性能が出ないという状態になっている。
最高性能のH100の演算能力が10だとすると、H800は演算能力は10あるのに、5しかデータが送れないため、最終的な演算も5しかできないということになっている。
制限を突破するためにマシン語を使う
これは突破すべき制限だ。通信部分の制限を乗り越えることができれば10の演算ができて、H100を使っているのと同じことになる。
しかし、CUDAには当然ながらそんな機能はなく、あったとしたら米政府の輸出規制に違反をすることになってしまう。
そこで、DeepSeek開発チームはCUDAではなく、PTX(Parallel Thread Execution)を使った。演算をするロジック半導体は、「加える」「メモリ上のデータを読み込む」などの命令で動作をする。この単発命令を直接並べて動かすことができる。これは俗にマシン語と呼ばれる。しかし、マシン語は数字の羅列になるために人間には理解が難しい。そこで、多少人間にもわかるようにしたものがアセンブラだ。
しかし、アセンブラも結局は単発命令を並べていくもので、コーディングするためには、ハードウェアの深い知識が必要になる。しかも、半導体ごとに命令が異なるため、半導体ごとに命令を覚えていかなければならない。後で修正をするのは至難の業であり、メンテナンス性も悪い。
そこで、普通はプログラミング言語を使う。プログラミング言語は、条件分岐や変数などという人間にもわかりやすい形でプログラミングできるもので、最終的にコンパイルをするとマシン語に変換をしてくれるツールだ。
NVIDIAの場合、CUDAがプログラミング言語に相当し、PTXがアセンブラに相当する。PTXを使う人というのはまずいない。そんな必要はないからで、普通はCUDAを使ってプログラミングを行う。
DeepSeek創業者の本業は投資システムの開発
しかし、DeepSeekは、H800の通信速度を上げるために、CUDAではできないことをしなければならなかった。そこで、PTXを使って通信系のコードを書き、H800の通信速度をあげて、最高性能のH100に匹敵する演算速度を使って、DeepSeekを開発した。
なぜ、DeepSeekがこのような手法を使ったのか。それはDeepSeekの成り立ちに関係しているかもしれない。DeepSeekの創業者、梁文鋒(リャン・ウェンフォン)は、1985年に広東省呉川市で生まれた。2002年に浙江大学に進み、電子情報工学を専攻すると、同級生の影響で株式相場に興味を持った。相場のデータ分析をすることに熱中をしたのだ。
そして、大学を卒業すると、就職をせずに8万元(約160万円)の資金を元手に、自分で開発したソフトウェアに相場分析をさせ、自動売買をさせていった。すると、毎年100%以上資金を増やし、7年後に資金は1億元(約20億円)を突破した。
ここで、元同級生たちと、2015年に「幻方科技」を設立した。資金を募って、開発した自動売買システムで投資をするファンドだ。このような数学理論に基づく自動売買のことは量化投資と呼ばれる。
量化投資に必要だった高速化
幻方科技にとって、AI技術を取り入れることがテーマになった。2018年にはディープラーニングをベースにした相場予測システム「蛍火虫」を開発する。この開発のためにNVIDIAの当時の最高性能GPU「A100」を1万枚購入した。
2022年にChatGPTが登場すると、TransformerベースLLMの時代に入ったと認識したが、すぐに相場予測に応用するのは難しいと考え、まずは自社用のLLMを開発する必要があると感じた。
そこで、2023年4月に子会社DeepSeekを設立し、LLMの開発を始めた。これが予想以上の成果をあげたということになる。
このような量化投資ファンドのエンジニアにとって、PTXを使うのは日常的なものになっていた。自動売買はリアルタイムで分析をする必要があり、CUDAだけでは不十分で、キモの部分は高速化するためにPTXを使うことがよくあるのだという。
つまり、DeepSeekが大きな成果をあげることができたのは、純粋なAI研究者の集団だけでなく、投資系のサイエンティスト、エンジニアがいたということが大きいのかもしれない。
まさに「イノベーションは業界の外で起こる」格言、そのままのことが起きた。