GPT o1-プレビューは1回で天文学レガシーソフトウェアのPythonプロトタイプを作れるんか?

3,823 文字

YouTube
作成した動画を友だち、家族、世界中の人たちと共有

昔々、天文学を専攻する大学院生がおったんやて。めっちゃ才能があって頭ええ子で、天文学界で広く使われるようになったソフトウェアを書いたんや。
わいちゃうで、わいの指導教官のアーロン・バーや。アーロンは大学院生の時にATVってソフトを書いたんや。ATVって何かいうと、ここに書いてあるように「天文学のFITSイメージを表示して簡単に分析するプログラム」や。FITSは天文学で一番よく使われるファイルタイプやねん。
アーロンが大学院生の時にこのソフトを書いたって聞くたびに、ほんまにびっくりするわ。1990年代の半ばから後半にかけて、なんやろ、気軽に1万1000行ものプログラムを書いて、それが何年も天文学の可視化の定番になるなんて。アーロンすごいわ。
わいがアーロンの下で大学院生やった時、いつも「わいにもあんなんできたらなぁ」って思ってたわ。でも、わいにはできへんかった。全然や。どこから手をつければええかもわからへんかった。
でも今はわかるんや。それはチャットGPTを使うことや。今夜、ふと思いついたんや。「チャットGPT o1-プレビューにATVの何かバージョンを作らせることはできへんやろか」って。でも今度はPythonでや。ATVはインタラクティブデータ言語で書かれてて、使うにはライセンスが要るんや。オープンソースちゃうし。
全部コピーする気もなかったし、多分1万1000行全部をチャットGPT o1-プレビューのコンテキストウィンドウに入れることもできへんやろ。それに、アーロンのコードを盗用したくもなかったし。
せやから、Pythonを使ってATVに匹敵するFITSビューアープログラムを作ってくれって頼んだんや。ほんで20秒もせんうちに、こんなんが出てきたんや。実際どれくらい使えるかはまだテストしてへんけど、それが今夜の目的やねん。
今夜は、チャットGPTが作ったもんを見て、ええもんかどうか確かめて、チャットGPTのプログラム言語間翻訳能力についてわいの考えを述べるつもりや。つまり、IDLみたいな言語から、実際にはコード全部渡してへんのにPythonに変換する能力やね。
実はこのパソコンにはFITSファイルがないんで、ちょっとラップトップ持ってくるわ。すぐ戻ってくるさかい。
ほな、ラップトップ開いたで。NGC 1380っていう銀河のテスト用FITSイメージを開いてるわ。ここに見えるやろ。これはDS9っていうプログラムで開いてるんや。これも画像ビューアーやけど、オープンソースで無料や。比較のために開いてるんや。
明るさのスケールを調整したり、ズームしたりする色んなツールがあるのが見えるやろ。さて、チャットGPTが書いたプログラムを見てみよか。
Fitsview.pyっていう名前やねん。使い方は、たぶんFitsviewerってこんな感じで呼び出すんやと思う。初めて実行するわ。そもそも動くんやろか、コンパイルできるんやろか。見てみよか。
よっしゃ、なんか出てきたわ。Fitsviewerって出てるな。横のこれが何かはよう分からんけど、メニューがあるな。正規化、エクスポート、ROI(関心領域)…おっ、これ押したら別のんが開くわ。閉じるとこれも閉じるんやな。なるほどな。
FITSファイルを開くにはどないすんねやろ。おもろそうやな。デスクトップに行って、開くを押して…おっ、なんや!銀河が出てきたで!
向きが違うな。スケールもずれてるわ。もう色のスケールを調整してもうたからやな。元に戻してみるか。たぶんここでMidMaxにしたらええんやろ。
そうそう、スケールが合ってるな。ここに3000って出てるし。DS9のスケールと似たようなもんや。DS9の使い方を思い出せば…この向きを変えられへんかな。
北西に向いてへんな。XY方向になってて、北がここ向いてる。このプログラムでは北が上向いてるんやと思う。ちょっと向きを変える方法探してみるわ。フレームWCS…あぁ、これやこれ。
ほぼ同じ向きになったと思う。ちょっと回転してるかもしれんけど。おもろいな。FITSファイルを見られるプログラムができたわけや。すごいやん。
おっ、右クリックできるで。全部見れるし、パンもできる。X軸手動ってなに?100にしたらどうなるんやろ。なんも変わらへんな。自動100%…これ何しとんのかよう分からんわ。0にしたらどうなる?よう分からんけど、とりあえずいろいろ試してみるわ。
軸の反転…おっ、これええな。軸を反転させたらこうなるんや。なるほどな。
かなり基本的なプログラムやけど、1ボタンと3ボタンの違いって何やろ。おっ、これでズームインできるんか。ここまで寄れるんや。ええやん。
スケールは調整できへんのかな。明るさが足りんのやけど。たぶんできへんな。これちょっと変やな。
おっ、できた!簡単なストレッチやな。凝ったもんはないみたいや。
実際の画像よりずっと大きいウィンドウがあるな。全部見れるようにズームアウトできる。どこ行った?見失うたわ。あぁ、戻ってきた。
これ、かなりすごいで。完璧やないけど…おっ、エクスポートもできるんか。これ全部何なん?アンチエイリアシング、色変更…あんまり変わらへんな。
とにかくいろんなボタン押してみてるわ。2000年代初期の新しいプログラム開いたみたいや。全部のボタン押してみたくなるわ。
プロットデータからCSV…おもろいけど、何をエクスポートしようとしてんのかよう分からんわ。今エクスポートしたんやろか。HDFエクスポート用のプロットアイテムを選択せなあかんらしい。あかん、クラッシュしてもうた。
すまんな、もう一回やり直すわ。実はこれ、めっちゃ楽しいねん。ちゃんと画像を読み込んで、それなりのビューアーを作れたんがすごいわ。これ、難しいことなんかどうか知らんけど。
Pythonが…はいはい、クラッシュしたのは分かってるって。
ほな、もう一回やってみよか。ストレッチがあって…エクスポートモード、スケール…画像ファイルとしてエクスポートできるんか。
ちょっとエクスポートしてみるわ。ここにテスト…あかん、クラッシュしてもうた。これはあかんな。
ファイルのエクスポートは今のところ問題ありそうやな。バグがあるし、完璧やないけど、まぁまぁ見れるわ。
わいの指導教官のアーロンやったら、このプログラムについて批判的なこと言うやろなぁ。彼の意見聞いてみたいわ。
これ何しとんのかさっぱり分からんわ。めっちゃ長い青い横長のウィンドウに見えるけど、どないしたらええんか分からへん。
Matplotlibウィンドウをエクスポート…これ押したらどうなるんやろ。あかん、また落ちた。
かなりバグのあるプログラムやけど、少なくとも画像は見れるわ。ここでいったん止まって、今見たもんについて考えてみるわ。
チャットGPT o1-プレビューの今夜の出来栄えをどう思うか?わいは感心したわ。完全に度肝を抜かれたわけやないけど、感心はした。
最初の実行でコンパイルできたんは、わいが書いたコードよりええ出来や。それなりにインタラクティブなプログラムを作って、クリックしたりズームしたり、パンしたり向きを変えたりできた。
実際、画像ビューアーを作るのがどれくらい難しいかわいには分からへん。わいはただ使うだけやからな。でも、すごいなと思うのは、めっちゃ短いプロンプトしか与えへんかったのに、元のソースコードすら渡さんと、こんなもん作れたことや。
元々のプログラムはインタラクティブデータ言語、つまりIDLで書かれてて、それをPythonに変換してくれって頼んだんやからな。これは、チャットGPT o1-プレビューのプログラム変換能力の可能性を示してると思うわ。
特に、科学者が一つの言語でコードを書いてて、時代とともに別の言語に移行するような場合にな。天文学ではこういうことがあったんや。今はIDLがあんまり使われへんくなって、もうほとんどPythonになってもうた。
でも、まだIDLコードを使ってる年配の天文学者もおるし、学生にIDLコードを渡しても、学生が使い方分からへんこともある。だから、あるプログラムを別の言語に変換できるっていうのは、めっちゃ面白い可能性があると思うわ。
アーロンのプログラムをそのまま食わせてみたらどうなるか興味あったけど、1万1000行もある巨大なコードをコンテキストウィンドウに入れるのは無理やと確信してたから、やめといたんや。
でも、あの短いプロンプトだけで、基本的な画像ビューアープログラムを作れたのはすごいと思う。だって、そのプログラムは一つしかないわけやからな。ソースコードはあるけど、全然違う言語で書かれてるわけや。
全体的に見て、かなり感心したわ。完璧やないけどな。単純なPNGやJPEGをエクスポートしようとしたら落ちてまうような致命的なバグもあったし。
完璧やないし、100%成功とは言えへんけど、わいや、画像ビューアーソフトの経験がない人間が最初に試みるよりは、ずっとマシやと思う。
今夜のテストはここまでや。見てくれてありがとう。この1週間、このチャンネルにたくさんの支援をもらって本当に感謝してる。これからも、このソフトウェアやその後継をテストする新しい方法を考えて、動画を作っていくつもりや。また見てな!

コメント

タイトルとURLをコピーしました