メルマガ読むならアプリが便利
アプリで開く

週刊Life is beautiful 2023年8月15日号: LangChain、幻に終わった常温・常圧超電導物質 LK-99

週刊 Life is beautiful
今週のざっくばらん LangChain 一緒に働いているメンバーから、LangChainについて質問されたので、私なりの答えをここにまとめてみます。 LangChainは、LLM向けのライブラリとして有名で、最も多く使われているライブラリとも言える存在です。LLMの使い方を紹介するサンプルコードやチュートリアルでも、LangChainを使っているものが多いし、LangChainの上に作られたオープンソースライブラリも多数存在します。 私が、最初にLangChainの存在を知ったのは、私の息子(洋平)のBabyAGIを通してでした。彼がオープンソース化した、BabyAGIは、LangChainを使って作ったAIエージェントだったのです。しかし、途中で彼は、LangChainを外し、OpenAIのAPIを直接叩くように変更しました。私が理由を尋ねると、「LLMの使い方が分かったので、もう必要ないから」というものでした。 私が、SlashGPTの開発を開始したのはその後ですが、LangChainは使わずに、OpenAIのAPIの上に直接アプリを作り始めました。OpenAIのAPIは、非常にシンプルで、特にライブラリが必要とは思えなかったからです。LLMに限らず、私は基本的にライブラリは「必要に応じて」使うタイプです。 特に、LangChainのような元々のAPIの上に作られた「フレームワーク」の類には、常に警戒した態度で望みます。何度も痛い目にあった経験があるからです。 iPhoneアプリに関して言えば、フレームワーク的なものはこれまで一切使ったことがありません。Appleが提供するAPIだけで十分だからです。外部のライブラリとして、「QRコードを生成するライブラリ」とか「ZIPファイルを展開するライブラリ」のようなものは使ったことがありますが、プログラミングモデルを根本から変えてしまうようなライブラリは使ったことがありません。ある時期、一緒にiPhoneアプリを開発しているメンバーの一人が、RxSwiftというフレームワークを使いたいと提案してきたので、評価をしましたが、Appleが提供しているAPIからの逸脱が激しかったので、却下しました。 唯一フレームワーク的なものを使うのは、Webのフロントエンドです。古くはjQueryからですが、あまりにも、JavaScript/BrowserのAPIが使いにくい上に、当時は、ブラウザー間の互換性が低かったので、フレームワーク嫌いな私も、jQueryを使うしかありませんでした。 その後、しばらくは、自分自身で、クライアント側で(PHPのような)テンプレートの展開をSNBinderというライブラリを作って、使っていましたが、Reactが出た時にそちらに切り替えました。たまたま、その前から、FacebookでReactを開発していたエンジニアと縁があり、クライアント側で行うテンプレートの仕組みについて、色々と議論しており、Reactの良さがすぐに理解できたからです。その後、Nextと呼ばれるフレームワークが、Reactの上に公開されましたが、Reduxの苦い経験があったので私は手を出しませんでした。 その後少しして、Reactにアプリケーションの状態を管理する Reduxというライブラリが公開されました。それまでReactを使っていたこともあり、Reduxも当然のように使い始めましたが、その途端に開発効率が愕然と落ちてしまい、とても後悔したことを覚えています。アプリケーションの状態を一律に管理する、という発想は悪くなかったのですが、設計が悪く、書かなければならないコードの量が倍増してしまったのです。結果的には、そのプロジェクトだけは、Reduxで押し通しましたが、その後は、自分で簡易版の状態遷移ライブラリを作り、そちらを使っていました。 Vueとの出会いは、ハッカソンで知り合った知り合いに、おもてなし.comのプロトタイプを作ってもらった経緯からですが、彼は、Vueの上に直接アプリを作らず、さらにその上のNuxtというフレームワークの上にアプリが作ってありました。Vueは初めてだったので、Nuxtを使うのが当たり前だろうと想定して、その後、彼のプロトタイプをベースにして、本格的なアプリの開発を始めましたが、すぐにNuxtの欠点が目立ち始めました。結局、アプリの開発途中で、Nuxtを外す、という面倒なことをしなければなりませんでしたが、後から考えて、とても良い決断だったと思います。 これらの経験から言えることは、元々あるAPIを隠してしまうライブラリ(しばしば、フレームワークと呼ばれるもの)には注意が必要だということです。非常にプログラミングがしにくいDOMの上に作られたReactやVueのように「明かに必要」な場合には使って当然ですが、RxSwift、Next、Nuxtのような中途半端な(=無くても問題ない)フレームワークは、可能な限り使うべきではない、という教訓です。 その意味で言うと、そもそもとてもシンプルで使いやすいOpenAIのAPIの上に作られたLangChainは、RxSwift、Next、Nuxtと同じ「無くても問題ない」フレームワークであり、可能な限り使うべきではない、と言うのが私の考えです。とは言え、LangChainの中には、LLMを使いこなす上で、とても便利なノウハウが詰まっているので、必要に応じて、ソースコードを参照したり、プロンプトをコピペしてくるのにはとても便利な存在ですが、本格的なアプリケーションをLLMの上に作るのであれば、使うべきではない、と言うのが私の考えです。 私と同様の考えを持つ人もいるようで、LangChain is Garbage Softwareというタイトルの記事も見つけたので、是非とも参照してください。 幻に終わった常温・常圧超電導物質 LK-99 7月22日に arXiv に発表されて以来、世界を騒がせてきた LK-99 ですが、世界中の研究者たちによる追試により、常温・常圧超電導物質ではないこと、および、なぜ研究者たちに常温・常圧超電導物質と思わせるような振る舞いをしたかが、わずか2週間強で判明しました。 決定打となったのは、以下の二つの論文です。Ferromagnetic half levitation of LK-99-like synthetic samplesFirst order transition in Pb10−xCux(PO4)6O (0.9<x<1.1) containing Cu2S 一つ目は、磁石の上で半分浮遊するという、(超電導物質の証である)マイスナー効果に似た振る舞いをした理由を、元の論文の手順通りにLK-99を作った上で、説明しています。作ったLK-99の中で、実際に半分浮遊するものがあったものの、磁性を測定したところ、磁化された結果、半分浮くようになったと説明しまし。ちなみに、LK-99が超電導物質であれば、完全に浮いて、空中にピン留めされるはずですが、その現象は、元の論文でも観測されていません。 二つ目は、室温よりも高い温度(385K = 摂氏112度)以下で急激に電気抵抗が減る理由を、これも元の論文の手順通りにLK-99を作った上で、不純物として混入したCU2S(硫化銅)によるものだと指摘しています。硫化銅は、385K付近で相転移を起こし、それ以下の温度で電気抵抗が大きく下がりますが(ただし、ゼロではない)、元の論文を研究者たちは、それを超電導と勘違いしたと結論付けています。 先週のメルマガに書いた通り、LK-99の興味深い振る舞いは、韓国の研究者、Sukbae Lee氏と Ji-Hoon Kim氏が1999年に発見し、それ以来、20年以上に渡って、彼らは実験を繰り返して超電導物質であること(もしくは、ないこと)を証明しようと試みて来ましたが、彼らの研究がYoung-Wan Kwon氏の裏切りにより、arXivに公開された事により、わずか2週間強で、決着が着いてしまったのです。 上の二つの論文を含め、追試論文の大半が中国の研究者によるものであった点は特筆すべきです。中国全体がこの手の基礎研究に大きな力を注いでいる点は見習うべきだし、かつ、同時に、オープンな形で研究結果を発表してくれるあたりは、大歓迎しても良いと思います。 ちなみに、米国で追試が遅れた原因の一つが、LK-99を作る際に必要な「リン(P)」が米国では入手しにくい点を指摘しておきます。リンは私たちの体の中にもたくさんある、ありふれた物質ですが、精製されたリンは、覚醒剤である メタンフェタミン (通称Meth)を作る際に利用される、という理由で、米国では特別の許可なく入手することが不可能になっているのです。 雑学ですが、メタンフェタミンの合成方法を見つけたのは、長井長義という日本の化学者です。発見された当初は、覚醒作用や依存性については知られても注目されてもおらず、第二次世界大戦中には、兵士の士気向上や疲労回復の目的で、ドイツ軍や米軍などで幅広く使われていました。日本では、ヒロポンという商品名で流通しており、戦時中は同じく兵士に使われ、敗戦後は日本軍が備蓄していたヒロポン注射剤が市場に放出された結果、乱用が拡散したそうです。 Nvidia GPU 最近、この業界では、Nvidiaの高性能GPU(A100とH100)不足が叫ばれていますが、そんな中で、CoreWeaveというGPU Cloudのベンチャー企業(2017年、本社ニューヨーク)が、NvidiaのGPU(H100)を担保にして$2.3billion(約3,000億円)を、Magnetar Capital、Blackstone、Blackrock などから借金として調達することに成功した、というニュースが話題になっています(参照:CoreWeave raises $2.3 billion in debt collateralized by Nvidia chips)。

この続きを見るには

この記事は約 NaN 分で読めます( NaN 文字 / 画像 NaN 枚)
これはバックナンバーです
  • シェアする
まぐまぐリーダーアプリ ダウンロードはこちら
  • 週刊 Life is beautiful
  • 「エンジニアのための経営学講座」を中心としたゼミ形式のメルマガ。世界に通用するエンジニアになるためには、今、何を勉強すべきか、どんな時間の過ごし方をすべきか。毎週火曜日発行。連載:菅首相に会って来た/米国で起業する時に知っておかねばならないこと。
  • 880円 / 月(税込)
  • 毎週 火曜日(年末年始を除く)