Feature

科学を変えた10のコンピューターコード

Credit: ILLUSTRATION BY PAWEŁ JOŃCA

2019年、イベント・ホライズン・テレスコープ(EHT)のチームは、ブラックホールの実際の姿を初めて世界に見せてくれた。彼らが発表したリング状に輝く天体の画像は、従来の写真とは違い、計算によって得られたものだ。具体的には、米国、メキシコ、チリ、スペイン、南極点の電波望遠鏡が捉えたデータを数学的に変換することによって得られたのだ1。研究チームは、その知見を記載する論文とともに、ブラックホールの撮影に用いたプログラミングコードも公開した。科学コミュニティーが自分たちのやり方を確認し、それを足場にできるようにするためである。

このようなパターンは、ますます一般的になりつつある。天文学から動物学まで、現代のあらゆる偉大な科学的発見の背後にはコンピューターがある。スタンフォード大学(米国カリフォルニア州)の計算生物学者で、コンピューターを使った化学構造のモデリング戦略に関する研究により2013年のノーベル化学賞を共同受賞したマイケル・レビット(Michael Levitt)は、今日のノートパソコンのメモリーとクロック速度は、1967年に彼が研究室で製作し、後にノーベル賞を受賞することになる研究で使ったコンピューターの約1万倍であるという。「今、私たちは驚異的な計算能力を手にしています」と彼は言う。「それでもまだ考える必要があるのは、困ったことです」。

そこでプログラミングをする科学者が登場する。どんなに強力なコンピューターがあっても、研究上の問題を扱うことのできるソフトウエアと、ソフトウエアの書き方や使い方を知る研究者がいなければ意味はない。科学におけるソフトウエアの開発と利用の改善に取り組む国立の組織であるソフトウエア・サステナビリティー研究所(英国エディンバラ)の所長ニール・チュー・ホン(Neil Chue Hong)は、「今では、研究とソフトウエアは根本的なところで結び付いています。研究活動のあらゆる側面に浸透しています」と語る。

科学的な発見は、当然のことながらメディアでトップの話題として扱われる。しかし、Nature は今回、過去数十年の間に研究を一変させた主要なコードのいくつかを舞台裏から見てみたいと考えた。

このようなリストに決定的なものはないが、私たちは1年がかりで数十人の研究者に質問し、科学界に大きな影響を与えた10のソフトウエアツールをさまざまな分野から選び出して、ラインアップを作成した。

高水準言語の先駆け: Fortranコンパイラー(1957年)

最初の近代的なコンピューターはユーザーフレンドリーではなかった。プログラミングといえば、ずらりと並ぶ回路をケーブルで接続することであり、文字通りの手作業だった。その後の機械語やアセンブリ言語の登場により、ユーザーはコードを使ってコンピューターのプログラミングができるようになったが、どちらの言語もコンピューターのアーキテクチャーを熟知していないと使いこなせなかったため、多くの科学者は手を出せなかった。

そんな状況を変えたのが、1950年代の記号言語の開発だった。その代表格が、IBM社(米国カリフォルニア州サンノゼ)のジョン・バッカス(John Backus)のチームが開発した「formula translation(数式変換)」言語Fortran(フォートラン)である。ユーザーはFortranを用いることで、x = 3 + 5のような、人間が読むことのできる命令を使ってコンピューターのプログラミングができるようになった。命令はその後、コンパイラーによって、高速で効率の良い機械語へと変換された。

それでもまだプログラミングは容易ではなかった。初期のプログラマーはパンチカードと呼ばれる記録媒体を使ってコードを(紙に穴を開けて)入力していて、複雑なシミュレーションになると数万枚のパンチカードが必要になることもあった。しかし、プリンストン大学(米国ニュージャージー州)の気候学者である真鍋淑郎は、コンピューター科学者以外の研究者がプログラミングをできるようになったのはFortranのおかげだと言う。「私たちは初めて自力で、コンピューターのプログラミングができるようになりました」と真鍋は言う。彼と同僚がFortranを使って開発した気候モデルは、初期の成功したモデルの1つとされている。

2020年代になってもなお、Fortranは、気候モデリングや流体力学、計算化学など、複雑な線形代数を用い、数値を高速処理できる強力なコンピューターを必要とするあらゆる分野で広く利用されている。生成されるコードは高速で、その書き方を知っているプログラマーはまだ大勢いる。今でも世界中の研究室やスーパーコンピューター上でビンテージ物のFortranコードベースが生きて動作し続けている。米国海軍大学院大学(カリフォルニア州モントレー)の応用数学者で気候モデラーでもあるフランク・ジラルド(Frank Giraldo)は、「昔のプログラマーは自分が何をしているのかよく分かっていました」と回想する。「彼らはメモリーを非常に気にしていました。当時は本当に少なかったからです」。

信号処理:高速フーリエ変換 (1965年)

空をスキャンする電波天文学者が捉えているのは、複雑な信号が時間とともに変化する不協和音だ。こうした電波の特徴を理解するには、研究者はこれらの信号が周波数の関数としてどのように見えるかを調べる必要がある。それを可能にするのが、フーリエ変換と呼ばれる数学的プロセスだ。問題は、サイズNのデータセットに対してフーリエ変換を行うにはN2回の計算が必要で、効率が悪いことである。

1965年、米国の数学者ジェイムズ・クーリー(James Cooley)とジョン・テューキー(John Tukey)は、このプロセスを高速化する高速フーリエ変換(fast Fourier transform:FFT)という方法を考案した。FFTは再帰(アルゴリズムが自身を繰り返し再適用する「分割統治」のプログラミング・アプローチ)を用いて、フーリエ変換を計算する問題をわずかN log2N)ステップに単純化する。Nが大きくなるほどスピードは上がる。データ点が1000ならスピードは約100倍だが、データ点が100万ならスピードは5万倍になる。

オックスフォード大学(英国)の数学者ニック・トレフェゼン(Nick Trefethen)は、この「発見」は実際には再発見だったと言う。ドイツの数学者カール・フリードリヒ・ガウス(Carl Friedrich Gauss)は1805年にこのことを発見していたが、発表することはなかった。しかし、クーリーとテューキーは発表し、デジタル信号処理や画像解析、構造生物学などへの応用を可能にした。「これは応用数学と工学における偉大な出来事の1つです」とトレフェゼンは言う。FFTはコードに何度も実装されている。よく用いられているのはfastest Fourier transform in the west(FFTW)だ。

ローレンス・バークレー国立研究所(米国カリフォルニア州)で分子生物物理学・統合バイオイメージング部門を率いるポール・アダムス(Paul Adams)は、1995年に細菌のタンパク質GroELの構造を高い精度で決定した2とき、FFTとスーパーコンピューターを使って計算しても、「何日というほどではありませんでしたが何時間もかかりました」と振り返る。「FFTなしで同じ計算をするとしたら、現実的なやり方は思いつきません。おそらく永遠に終わらないでしょう」。

分子のカタログを作る: 生物学データベース (1965)

データベースは今日の科学研究にとってごく当たり前の要素になっているため、これらがソフトウエアによって動いているという事実は見落とされがちだ。過去数十年の間にデータベースの規模は膨れ上がり、多くの研究分野を形作ってきたが、おそらく生物学ほど劇的な変貌を遂げた分野は他にない。

今日のゲノムやタンパク質の巨大データベースのルーツは、バイオインフォマティクスの先駆者である国立生物医学研究財団(NRBF;米国メリーランド州シルバースプリング)のマーガレット・デイホフ(Margaret Dayhoff)の研究にある。1960年代初頭、生物学者たちがタンパク質のアミノ酸配列を解明しようとしていたとき、デイホフは、異なる種間の進化的関係の手掛かりを求めて、配列の情報を照合し始めた。彼女が1965年に3人の共著者と初めて出版した『Atlas of Protein Sequence and Structure(タンパク質の配列と構造アトラス)』には、65種類のタンパク質の配列と構造、類似点について、当時知られていた事実がまとめられていた。科学史研究者のブルーノ・ストラッサー(Bruno Strasser)は2010年に出版した論文3の中で、それは「特定の研究課題に縛られない」最初のタンパク質コレクションだったと記している。なお、デイホフの本のデータはパンチカードにコード化されていて、データベースを拡張し、検索できるようになっていた。

ある細菌の「エクスプレソーム(転写翻訳複合体)」。Protein Data Bankを利用することで、こうしたエクスプレソーム中の分子などを調べることができる。 Credit: DAVID S. GOODSELL AND RCSB PDB (CC BY 4.0)

コンピューター化された他の生物学データベースがこれに続いた。1971年に立ち上げられたタンパク質構造データバンク「Protein Data Bank」には、今では17万以上の高分子構造の詳細なデータが蓄積されている。カリフォルニア大学サンディエゴ校(米国)の進化生物学者であるラッセル・ドゥーリトル(Russell Doolittle)は、1981年にNewatという別のタンパク質データベースを創設した。1982年には、後に国立衛生研究所(NIH;米国メリーランド州ベセスダ)が管理するDNAアーカイブ「GenBank」となるデータベースが公開された。

生物学データベースがその価値を証明したのは1983年7月のことだった。英国王立がん研究基金(ICRF;ロンドン)のタンパク質生化学者マイケル・ウォーターフィールド(Michael Waterfield)が率いるチームとドゥーリトルのチームが、あるヒト成長因子の配列と、サルにがんを引き起こすウイルスのタンパク質の配列との間に類似性があることを、それぞれ独立に報告したのである。この発見は、ウイルスが成長因子を模倣することで細胞の制御不能な増殖を誘導するという、ウイルスによる発がんのメカニズムを示唆していた4。国立生物工学情報センター(NCBI;米国メリーランド州ベセスダ)の前所長であるジェイムズ・オステル(James Ostell)は、「それまでコンピューターや統計学とは縁がなかった生物学者たちは、この発見にはっとしました。配列を比較することで、がんについて何かを理解できるというのですから」と言う。

オステルは、この発見には「客観的生物学の出現」という意味もあると指摘する。研究者は、特定の仮説を検証するために実験を計画するだけでなく、公開されているデータセットを調べて、実際にデータを収集した人々が考えもしなかった「つながり」を探すことができるようになった。その威力は、異なるデータセットを結合できるようになったことで劇的に大きくなる。1991年にそれを成し遂げたのが、NCBIのプログラマーたちだった。彼らが開発したEntrez(アントレ)というツールは、研究者がDNAとタンパク質と文献のデータの間を自由に行き来することを可能にした。

現在NCBIの所長代理であるスティーブン・シェリー(Stephen Sherry)は、「大学院生のときにEntrezを使い、魔法のようだと思ったことを覚えています」と回想する。

気象現象の予測: 大気大循環モデル(1969年)

第二次世界大戦が終結したとき、コンピューターのパイオニアであるジョン・フォン・ノイマン(John von Neumann)は、ほんの数年前まで弾道の計算や武器の設計に使われていたコンピューターを、天気の予測の問題に使い始めた。「それまでの天気予報は経験頼みでした」と真鍋は説明する。つまり、人間の経験と勘によって、次に何が起こるかを予測していたのだ。これに対してフォン・ノイマンのチームが試みたのは、「物理学の法則に基づく数値的な天気予測」だった。

米国海洋大気庁(NOAA)の地球流体力学研究所(GFDL;ニュージャージー州プリンストン)のモデリングシステム部門長バンカトラマニ・バラジ(Venkatramani Balaji)は、方程式は何十年も前から知られていたと言う。しかし、初期の気象学者がこの方程式を解いて天気を予測することは、実際問題として不可能だった。天気を予測するには、現在の条件を入力し、短い時間でどのように変化するかを計算し、再び条件を入力するという作業を繰り返す必要があったが、あまりにも時間がかかるため、計算をしているうちに天気を予測したい時刻になってしまうからである。1922年には数学者のルイス・フライ・リチャードソン(Lewis Fry Richardson)が、ミュンヘン(ドイツ)の6時間予報を数カ月がかりで計算した。ある伝記によると、その結果は「とんでもなく不正確」で、「地球上で知られているいかなる条件下でも起こり得ない」予測も含まれていたという。コンピューターは、この問題を扱いやすいものにした。

1940年代後半、フォン・ノイマンはプリンストン高等研究所(米国ニュージャージー州)に天気予測チームを設立した。1955年にはGFDLのチームも、フォン・ノイマンが「infinite forecast(無限予報)」と呼んだ気候モデリングの研究を始めた。

1958年にGFDLの気候モデリングチームに加わった真鍋は大気モデルに取り組み、同僚のカーク・ブライアン(Kirk Bryan)は海洋モデルに取り組んでいた。1969年、彼らは2つのモデルを結合させることに成功し、Nature は2006年にこのモデルを科学計算における「マイルストーン」と呼んだ。

科学に最も大きな影響を与えたコード
Nature が選んだ10のコードのうち、 科学に最も大きな影響を与えたと思うものについて3つまで、読者に投票してもらった。

今日のモデルは、地球の表面を25km四方の正方形に、大気を数十の層に分割することができるが、真鍋とブライアンの大気・海洋結合モデル(AO-GCM)5は、地球の表面を500km四方の正方形に、大気を9層に分割するだけで、地球全体の6分の1しかカバーしていなかった。それでも「このモデルは素晴らしい仕事をしました」とバラジは言う。真鍋とブライアンらは、二酸化炭素濃度の上昇が気候に及ぼす影響について、初めてコンピューターを用いて検証することができたのだ。

計算ライブラリー:BLAS(1979年)

科学計算では、ベクトルと行列を使った比較的単純な数学的演算を行うことが多い。ただ、その数は非常に多い。1970年代には、このような演算を実行するために普遍的に受け入れられている計算ツールは存在していなかった。そのため、科学分野で働くプログラマーたちは基本的な数学的計算を効率良く行うコードの考案に時間を取られ、科学的な問題に集中することができずにいた。

ローレンス・リバモア国立研究所(米国カリフォルニア州)のスーパーコンピューター「Cray-1」。1979年に納入され、1989年1月27日にサービスを終了。 Credit: SCIENCE HISTORY IMAGES/ALAMY

プログラミング界が必要としていたのは標準規格だった。1979年にそれを実現したのがBasic Linear Algebra Subprograms(BLAS)である6。BLASは1990年まで進化を続け、ベクトル計算や、後には行列計算の基本ルーチンを多数規定した。

BLASの開発チームのメンバーだったテネシー大学(米国ノックスビル)のコンピューター科学者ジャック・ドンガラ(Jack Dongarra)は、BLASは事実上、行列計算とベクトル計算を足し算や引き算と同じくらい基本的な計算単位にしたと説明する。

テキサス大学オースティン校(米国)のコンピューター科学者ロベルト・バンデガイン(Robert van de Geijn)は、BLASは「科学計算のために規定されたインターフェースの中でおそらく最も重要なもの」だったと言う。BLASは一般的な関数に標準化された名前を与えただけでなく、BLASをベースとするコードはどのコンピューター上でも同じように動作するため、研究者は信用することができた。BLASはまた、それぞれのコンピューターメーカーが、自社のハードウエア上で高速演算できるようにBLASの実装を最適化することも可能にした。

それから40年以上の歳月を経た今、BLASは科学計算スタック(科学ソフトウエアを動かすコード)の中核を成している。ジョージ・ワシントン大学(米国ワシントンD.C.)の機械・航空宇宙工学者ロレーナ・バーバ(Lorena Barba)は、BLASを「5層のコードの内部にある機構」と呼ぶ。

ドンガラは、「BLASは私たちが計算を行うための基礎を提供しているのです」と言う。

画像解析:NIH Image(1987年)

1980年代初頭、プログラマーのウェイン・ラズバンド(Wayne Rasband)は、NIHの脳画像研究室で働いていた。研究チームはX線フィルムをデジタル化するスキャナーを持っていたが、それをコンピューター上で表示したり分析したりする術はなかった。そこでラズバンドは、そのためのプログラムを書いた。

このプログラムは、どう見ても「パーソナル」とは言い難い価格15万ドル(当時のレートで約3500万円)のラックマウント型ミニコンピューターPDP-11用に、特別に設計されたものだった。その後、1987年にアップル社が、より親しみやすく、はるかに手頃な価格のマッキントッシュ IIを発売した。「研究室での画像解析システムとしては、こちらの方がはるかに優れていると思いました」とラズバンドは言う。彼は自分のソフトウエアを新しいプラットフォームに移植してNIH Imageと命名し、画像解析エコシステムの種を蒔いた。

NIH Imageとその子孫に当たるソフトウエアは、研究者があらゆるコンピューター上であらゆる画像を表示し、定量することを可能にした。このソフトウエアファミリーには、ラズバンドがWindowsとLinuxユーザー向けに開発したJavaベースのImageJと、マックス・プランク分子細胞生物学・遺伝学研究所(ドイツ・ドレスデン)のパベル・トマンカク(Pavel Tomancak)のグループが開発したFiji(ImageJのディストリビューションで、主要なプラグインが組み込まれている)がある。ブロード研究所イメージング・プラットフォーム(米国マサチューセッツ州ケンブリッジ)の計算生物学者ベス・チミニ(Beth Cimini)は、「ImageJは、私たちが持っているツールの中で最も基礎的なものです。顕微鏡は使っているけれど、ImageJやその派生プロジェクトであるFijiを使ったことはない、という生物学者と話したことはこれまで一度もありません」と言う。

これらのツールがここまで普及した理由の1つは「無料」だからだとラズバンドは言う。彼の引退後にImageJの開発チームを率いてきたウィスコンシン大学マディソン校(米国)の医用生体工学者ケビン・エリセリ(Kevin Eliceiri)は、ユーザーが自分のニーズに合わせてツールをカスタマイズしやすいことも理由の1つだと考えている。ImageJのユーザーインターフェースは意外なほどシンプルで、最小限のものしかなく、1990年代からほとんど変わっていない。しかし、内蔵のマクロレコーダー(ユーザーはマウスのクリックやメニュー選択のシーケンスを記録し、ワークフローを保存することができる)、ファイルフォーマットの互換性の広さ、柔軟なプラグインアーキテクチャーのおかげで、ImageJは無限に拡張することができる。エリセリのグループのプログラミングの責任者であるカーティス・ルーデン(Curtis Rueden)は、「数百人のユーザーがプラグインの開発に貢献してくれました」と言う。プラグインの追加により、研究者向けのツールセットは大幅に拡張され、動画の中の物体を経時的に追跡する機能や、細胞を自動的に特定する機能などが加わった。

「このプログラムの主眼は、万能のツールになることではなく、ユーザーの目的に役立つことにあります」とエリセリは言う。「Photoshopや他のプログラムとは違い、ImageJはユーザーが望むものになることができるのです」。

画像処理ツールImageJは、顕微鏡画像を分析し、細胞核を自動的に識別することができる。 Credit: Ignacio Arganda-Carreras/ImageJ

配列を比較する:BLAST(1990)

ソフトウエアと文化との関連の深さを測るのに、「その名称が動詞になっているか」というものほど優れた指標はないかもしれない。検索ならGoogleがそれに当たるし、遺伝学ならBLASTだ。

進化的変化は、置換、欠失、ギャップ、再配列として分子の配列に刻まれる。研究者は、配列間の類似性、特にタンパク質のアミノ酸配列の類似性を検索することで、進化的関連を発見したり、遺伝子の機能に関する洞察を得たりすることができる。ポイントは、急速に膨らんでいく分子情報のデータベースを迅速かつ包括的に検索することだ。

1978年に、このパズルを解くカギとなるピースを提供したのは、先述のバイオインフォマティクスの先駆者デイホフだった。彼女は、2つのタンパク質のアミノ酸配列の類似性だけでなく、その進化的距離にも基づいて両者の関連性をスコア化できる「point accepted mutation(PAM)」行列を考案した。

1985年には、バージニア大学(シャーロッツビル)のウィリアム・ピアソン(William Pearson)とNCBIのデビッド・リップマン(David Lipman)が、デイホフのPAM行列を高速検索能力と組み合わせたアルゴリズム「FASTP」を導入した。

数年後、リップマンは、NCBIのウォーレン・ギッシュ(Warren Gish)とステファン・アルツシュール(Stephen Altschul)、ペンシルベニア州立大学(米国ユニバーシティーパーク)のウェッブ・ミラー(Webb Miller)、アリゾナ大学ツーソン校のユージン・マイヤーズ(Eugene ''Gene'' Myers)と共に、さらに強力な改良を加えたBasic Local Alignment Search Tool(BLAST)を開発した。1990年にリリースされたBLASTは、急成長するデータベースを扱うのに必要な検索速度と、進化的距離が大きい一致まで検出できる能力を兼ね備えていた。また、こうした一致が偶然に生じた可能性も計算することができた。

検索結果は信じられないほど速く出たとアルツシュールは言う。「検索したい配列を入力してコーヒーを一口飲んだら、検索が終わっているのです」。それ以上に重要だったのは使いやすさだった。データベースの更新が郵送で行われていた時代に、ギッシュは電子メールシステムを確立し、後にウェブベースのアーキテクチャーを確立して、ユーザーが遠隔地からNCBIのコンピューター上で検索を実行できるようにした。おかげでユーザーは常に最新の結果を得ることができた。

ハーバード大学(米国マサチューセッツ州ケンブリッジ)の計算生物学者ショーン・エディ(Sean Eddy)は、関連する遺伝子に基づいて未知の遺伝子の働きを推測できるようにするこのシステムは、当時生まれたばかりだったゲノム生物学を大きく変えるツールとなったと言う。また、シーケンシングを行っていた世界中の研究室に、気の利いた新語をもたらした。「BLASTが動詞になったのです」とエディは言う。「BLASTを使って配列の関連性を調べることを『BLASTする(BTASTing)』と言います」。

見落としていたソフトウエア
Nature が選んだ10のコードの リストに入れるべきだったものについても、読者に尋ねた。

プレプリントサーバー:arXiv.org (1991)

1980年代後半、高エネルギー物理学者たちは、同僚の意見を聞くため、あるいは単なる礼儀として、学術誌に投稿した原稿を紙にコピーして研究者仲間に送付するのが常だった。ただし、このようにして原稿をもらえるのはごく一部の研究者に限られていた。物理学者のポール・ギンスパーグ(Paul Ginsparg)は2011年に、「カーストの下位にいる研究者は上位の研究者のおこぼれをもらうしかなかった。そして、非エリート機関に所属する野心的な研究者は、しばしば、その特権的な輪の外にいた」と記している7

1991年、当時ロスアラモス国立研究所(米国ニューメキシコ州)にいたギンスパーグは、研究者の平等を図るために、電子メールのオートレスポンダー(いわゆるメールマガジン)を作成していた。購読者は毎日、プレプリント(出版前の論文原稿)のリストを受け取ることができ、個々のプレプリントは識別子に関連付けられていた。世界中のユーザーは、1通の電子メールで、研究所のコンピューターシステムから論文を投稿したり検索したり、新しい論文のリストを入手したり、著者名やタイトルで論文を検索したりできるようになった。

ギンスパーグは当初、論文の保存期間は3カ月とし、高エネルギー物理学コミュニティーのコンテンツに限定しようと計画していた。しかし、同僚の1人に説得されて保存期間を無期限とした。「掲示板からアーカイブへと移行した瞬間でした」と彼は言う。論文は、高エネルギー物理学とは無縁の分野からも殺到した。1993年、ギンスパーグはこのシステムをWorld Wide Webに移行し、1998年にはarXiv.orgと名付けて今日に至る。

前身のアーカイブの設立から30年となる現時点で、arXivには約180万本のプレプリント(全て無料で利用できる)とアブストラクトが保存されていて、毎月の投稿数は1万5000本以上、ダウンロード数は3000万回以上にもなる。サイトが20周年を迎えた際には、Nature Photonics の編集者が「arXivがこれほど人気のあるサービスとなった理由を理解するのは容易である」と述べ8、「このシステムは研究者に自分がいつ、どんな研究をしたかを手軽に紹介する手段を与えるもので、従来型の学術誌での査読に要する手間暇を省くことができるからだ」と説明している。

arXivの成功は、生物学や医学、社会学などの他分野の姉妹アーカイブを勢いづけた。その影響は今日、重症急性呼吸器症候群コロナウイルス2(SARS-CoV-2)関連のプレプリントが数万本も公開されていることからもよく分かる(2021年3月号「論文数に見るコロナウイルス研究の奔流」参照)。

「30年前に素粒子物理学コミュニティーの外では異端と考えられていた方法が、明白で自然なものとして広く受け入れられるようになったのはうれしいことです」とギンスパーグは言う。「その意味では、研究プロジェクトは成功したような感じです」。

大盛況
arXivへのプレプリント投稿数は堅調に伸び続け、今では毎月1.5万件を超えるほどだ。 Credit: Source: arXiv.org

データ分析: IPythonノートブック(2011)

2001年、大学院生だったフェルナンド・ペレス(Fernando Pérez)は、「博士論文を先送りにするために」Pythonの核心部分に手を出すことにした。

Python(パイソン)はインタープリター型(プログラムが1行ずつ実行される)言語である。プログラマーはread–evaluate–print loop(REPL)と呼ばれるコンピューター版コール・アンド・レスポンスのようなツールを使用する。コードを入力すると、インタープリターというプログラムがそれを実行する。REPLを使うと素早い探索や反復が可能になるが、Pythonは科学用に作られたものではなかった、とペレスは言う。例えば、ユーザーがコードのモジュールをプリロードするのが容易でなかったり、可視化したデータを開いておくことができなかったりした。そこでペレスは独自のバージョンを書いた。

こうして出来上がったのが「interactive(対話型)」PythonインタープリターであるIPython(アイパイソン)で、ペレスは2001年12月に259行のコードを発表した。10年後、ペレスは物理学者のブライアン・グレンジャー(Brian Granger)と数学者のエバン・パタースン(Evan Patterson)と協力してIPythonをウェブブラウザ上に移行させてIPython Notebookを世に送り出し、データサイエンス革命に弾みをつけた。

他の計算用ノートブックと同様、IPython Notebookは、コードや計算結果、グラフィックス、テキストを組み合わせて1つのドキュメントにする。しかし、同種の他のプロジェクトとは異なり、IPython Notebookはオープンソースで公開され、膨大な人数の開発者コミュニティーの貢献を促してきた。さらにIPython Notebookは、科学者に人気のあるPythonをサポートしていた。2014年、IPythonはProject Jupyter(ジュピターもしくはジュパイターと読む)へと進化した。サポートする言語は約100種類となり、ユーザーは遠隔のスーパーコンピューター上のデータを、自分のノートパソコン上にあるかのように容易に探索できるようになった。

Nature は2018年に、「Jupyterはデータサイエンティストのデファクトスタンダード(事実上の標準規格)になろうとしている」と考察している9。当時、コード共有プラットフォームGitHub上には250万のJupyterノートブックがあったが、今日では、2016年の重力波の発見や2019年のブラックホールの撮影の際に論文に記載されたものを含めて1000万近くになっている。「これらのプロジェクトに少しでも貢献できたことを、本当にうれしく思っています」とペレスは言う。

高速学習:AlexNet(2012年)

人工知能(AI)には2つの種類がある。1つは体系化された規則を使用するタイプで、もう1つは脳の神経構造を模倣してコンピューターが「学習」できるようにするタイプである。トロント大学(カナダ)のコンピューター科学者ジェフリー・ヒントン(Geoffrey Hinton)は、人工知能の研究者たちは何十年も後者のアプローチを「ナンセンス」と決めつけていたと説明する。2012年、ヒントンの大学院生であるアレックス・クリジェフスキー(Alex Krizhevsky)とイリヤ・サツキーバー(Ilya Sutskever)が、そうではないことを証明した。

舞台となったのは画像データベースImageNetプロジェクトが毎年開催する画像認識コンテストだった。研究者は、日常的な被写体の画像100万点を集めたデータベースを使ってAIを訓練し、得られたアルゴリズムを別の画像セットでテストする。2012年当時は、最高水準のアルゴリズムでも約4分の1の画像の分類を間違えていたとヒントンは言う。これに対して、クリジェフスキーとサツキーバーのニューラルネットワークに基づく「ディープラーニング」アルゴリズムAlexNetは、分類の間違いを16%まで減少させた10。「誤り率をほぼ半減させたのです」とヒントンは言う。

ヒントンは、2012年のチームの成功は、十分な量の訓練データセットと、優れたプログラミングと、新たに登場したグラフィカル・プロセス・ユニット(GPU、もともとはコンピューター画像処理を高速化するために設計されたプロセッサー)の威力の結び付きによってもたらされたと説明する。「私たちは突然、アルゴリズムを30倍の速さで実行できるようになったのです。つまり、30倍の量のデータで学習できるようになったのです」とヒントン。

ヒントンによると、アルゴリズムの真のブレイクスルーは、その3年前に起きていたという。彼の研究室が作り出したニューラルネットワークが、数十年がかりで改良されてきた従来型のAIよりも正確に音声を認識することに成功したのだ。「勝ったといっても、ほんの少しです」とヒントンは言う。「それでも、AIが今後どうなっていくかを予言するのに十分な勝利でした」。

これらの勝利は、研究室やクリニックでディープラーニングが台頭する先駆けとなった。携帯電話が音声による問い掛けを理解できるようになり、画像解析ツールが写真の中の細胞を簡単に選び出せるようになったのも、同じ流れの出来事だ(2018年1月号「AI時代の仕事と雇用」および2021年1月号「Alexa、私、いま病気?」参照)。AlexNetが科学を根本から変え、それにより世界を根本から変えた多くのツールに肩を並べている理由は、ここにある。

翻訳:三枝小夜子

Nature ダイジェスト Vol. 18 No. 4

DOI: 10.1038/ndigest.2021.210424

原文

Ten computer codes that transformed science
  • Nature (2021-01-21) | DOI: 10.1038/d41586-021-00075-2
  • Jeffrey M. Perkel
  • Jeffrey M. Perkelは、Natureのテクノロジーエディター。

参考文献

  1. The Event Horizon Telescope Collaboration et al Astrophys. J. Lett. 875, L1 (2019).
  2. Braig, K., Adams, P. D. & Brünger, A. T. Nature Struct. Biol. 2, 1083–1094 (1995).
  3. Strasser, B. J. J. Hist. Biol. 43, 623–660 (2010).
  4. Newmark, P. Nature 304, 108 (1983).
  5. Manabe, S. & Bryan, K. J. J. Atmos. Sci. 26, 786–789 (1969).
  6. Lawson, C. L., Hanson, R. J., Kincaid, D. R. & Krogh, F. T. ACM Trans. Math. Software 5, 308–323 (1979).
  7. Ginsparg, P. Preprint at http://arxiv.org/abs/1108.2700 (2011).
  8. Nature Photon. 6, 1 (2012).
  9. Nature 563, 145–146 (2018).
  10. Krizhevsky, A., Sutskever, I. & Hinton, G. E. in Proc. 25th Int. Conf. Neural Information Processing Systems (eds Pereira, F., Burges, C. J. C., Bottou, L. & Weinberger, K. O.) 1097–1105 (Curran Associates, 2012).