確定申告の時期なので、米国の一風変わった(?)所得申告システム(Information Return)と連携するアプリケーションを開発した話について書こうと思う。
- 米国の所得申告
- 所得申告システム、FIRE
- 不思議なファイルフォーマット
- みよ、これがメジャーの仕様書だ
- レスポンス(多分速達のほうが早い)
- 初心者には厳しすぎるテスト環境
- FIREへの申告自動化ツールを開発する
- おわりに
「今って一日どう過ごしてるんですか?」「小さい子供いながら起業って大変じゃないですか?」 ってたまに聞かれるので、平日の朝から晩までの様子を書いてみる。
答えから言うと、”気を張らずロングランでやっていく”スタンスをとることでなんとかなる(なんとかしている?)んじゃないかなと思う。この記事が起業やら外国で働くことを検討している人の参考になれば幸いです。
この記事はLLM開発におけるプロンプトエンジニアリングに違和感がある人に向けた、捉え方を変えてみたら少し印象が変わるかも、という提案をするものです。
かくいう自分もなんだか普通のソフトウェア開発とは異なると感じていました。この違和感の言語化を試みると、すべてはブラックボックス化したインプットとアウトプットに集約される気がします。
などなど。プロンプトを調整し、期待した結果が得られるかお伺いをたてる開発プロセスは、トライアンドエラーするしかないといった具合です。*1
そんな折に、たまたま聴いたのがStack Overflow podcastのこのエピソードでした。
ゲストのKatanforoosh氏は元々機械学習の研究者で、現在はスタンフォード大学でDeep Learning講座を受け持っています。その彼に対してホストから投げかけられた、 ”CSの学生がAIや機械学習開発を始めるために何に取り組めば良いか?” という質問への答えの中で、彼はこう述べました。
“AI開発とソフトウェア開発の根本的な違いは、Less predictable(予測がつきにくい)ということです。多くのソフトウェア開発はアイデアからリリースまでの見通しが立てやすいです。AIはモデルがいつ機能するか予測を立てるのが難しいです”
これを聴いたとき、自分はハタと手を打ちました。なるほど、LLMのような汎用的なモデルの登場によって、ソフトウェア開発にパラダイムシフトが起きたのだと。
機械学習モデルのプロジェクトでは、効果的に機能するまでモデルの改善を行うプロセスがプロジェクトに組み込まれています。これまでの機械学習を使ったプロダクト開発では最終的なモデルを利用するだけなので、ある種決定論的にアウトプットが得られました。
しかし、インプットでアウトプットの精度を向上できるLLMのような汎用モデルが登場したことにより、機械学習のチューニングがソフトウェア開発にシフトし、開発段階での改善プロセスが必要になったのです。
そのような開発では結果評価とフィードバックの仕組みが重要になります。最近自分の取り組んでいるAI開発プロジェクトでは、どのように結果評価を行うかの検討を始めました。現状LLM開発についてはいくつかのツールや考え方があるようです。
https://platform.openai.com/docs/guides/production-best-practices
そんなわけで、最近自分はもうちょっと本腰入れてLLMOps(というのかな?)やプロンプトエンジニアリングについて学んでみようと思っています。面白いアイデアや実装ができたら、またシェアします。
*1:もちろん安定した結果を得るためにRAGを含めたさまざまな手法はあります
AWS Lambda Advent Calendar 13日目の記事です。
今回は AWS Lambda function で TypeScript の 関数を書くときにコンソール上で2000倍(※当社比)見栄え良くする方法を書きます。
ちなみにここでの"見栄えの良さ"はAWS コンソール上での読みさすさのことです! 副次的な効果として、最初のロード時のコードサイズが限界まで小さくなるので、パフォーマンスも良くなるかもしれません。(未検証)
なお、これはAWS CDKを使うことが前提となっています。
最近PoCやサービス開発を通じて、どっぷりLLMの開発をしています。この記事では最近の大規模言語モデル(LLM)を使ったアプリケーション開発の種類や手法、ツール群について一通りまとめました。よくあるチャットボットからReActといった最先端のものまで、この記事を読めばエンジニアだけでなく非エンジニアの方でも概要をつかめるよう書きました!それではどうぞ。
今年の3月頃、Amazon Prime のテックブログでストリーミング監視システムのマイクロサービスをモノリスに作り替えて90%コストを削減した記事が投稿され、ソフトウェア業界に波紋を呼びました。この記事の真相はなんだったのか、我々が学ぶべきことはなんだったのかについて書きます。