生成AI激動時代の個人開発者の戦い方(2023年振り返り)
それっぽいタイトルをつけましたが、内容としては2023年に自分がやったことの振り返りとなります。
その中で、一年間個人開発者という立ち位置で生成AI界隈(主に画像)に身を置いて思ったことや、これからの生き方を備忘録的に残しておこうという記事になります。
2023年振り返り
というわけでざっくばらんに振り返りです。
僕の個人的な活動内容には興味ないよ!って方は飛ばしてください。
ふりかえり
とにもかくにも生成AIに振り回された一年でした。
画像生成AIが本格的に流行ったのが去年の11月で、元々趣味で絵を描いていた事もありその頃はまだ参入には早いかと思い様子を見ていましたが、あっという間に状況が変わっていったのを覚えています。
本格的に参入を決めるきっかけとなったのが2月ごろに出たcontrolnetの存在で、これ以上静観しているとついていけなくなるという実感があったため、本格的に画像生成AIに手を出しました。
同時期にもう一つの生成AIであるLLMも話題になり始めます。
LLMは一般的には高精度のチャットbotとしてもてはやされていましたが、エンジニアである自分的にはその高度なコーディング能力に度肝を抜かされました。
とはいえ、GPTも本格的に使い始めたのは4以降であり、このタイミングではまだまだ触ってみた程度の関わり具合でした。
話を画像生成AIに戻します。
controlnetの出現により画像生成AIに手を出す事を決めたものの、自分的にはまだまだ細かい制御ができない事が不満だったため、生成した画像を編集しやすいようにレイヤー分けし、psdファイルとして出力できるツールを作る事にしました。
こうして作ったのがlayerdividerになります。
layerdividerについてはこちらに詳しく描いているので興味があれば読んでみてください。
このツールは非常に反響が大きく、抹茶もなかといえばレイヤー分けツール作ってる人みたいな認識を結構な人に持ってもらうことができました。
一方でツールの性能には個人的には満足できておらず、もっと使い勝手の良いレイヤー分けツールに育てていきたいなという気持ちがあります。
次にやったのが、controlnetを使った動画生成機能の制作でした。
この機能自体は連続性のある一枚絵をcontrolnetで複数再生し、繋ぎ合わせる事で動画を作るという簡単なものでしたが、controlnetの主流リポジトリ(本家ではなくwebUIの拡張の方)にコントリビュートする形で実装したのが個人的には大きな功績だったかなと思います。
当時、動画を再生するのはまだまだハードルが高く単純なペラペラ漫画方式でも動画を作れるのは一部の人だけだったところに、controlnetの拡張機能を入れるだけで動画を作れるようにしたのは結構感謝をされた覚えがあります。
(controlnet webUIの contributorの上の方に自分が載ってるのがちょっとした自慢)
これを作り終えたあたりで、GPT4が世の中に出てきてGPT3.5以上の衝撃を与えられました。
ハルシネーションなどの問題はありつつも、そのコーディング能力は圧巻の一言で、今後のエンジニアとしてのキャリアを本気で考え直すには十分な破壊力がありました。
そして、ここから個人開発にもGPTを本格的に取り入れた事で自分の開発能力も格段に向上し、かなりのハイペースでツールを作成できるようになりました。
そんなGPT4を初めてふんだんに使って作ったツールがPBRemToolsと名付けた高精度の背景切り抜き(人物画像特化)でした。
こちらも割と評価いただき、githubのスターも300を超えています。
layerdividerもPBRemToolsも画像処理をふんだんに使うのですが、元々本業はデータサイエンティスト兼MLエンジニアという事もあり画像処理には疎い部分も多く、その知識の補助としてGPTを最大限に活躍しました。
結果、このツールは2週間という極短時間で一通り使える形にまで仕上げることができました。
この後は一度作ったツールのアップデート(主にSegment Anythingの活用)を行い、しばらくしてから3つ目のツールであるauto_undercoatと名付けた自動下塗り&レイヤー分けツールを作りました。
画像生成AIは既存のお絵描きをしている人にとってはかなり使いづらい(これは今も多分変わっていない)ため、普段絵を描いている人がどうにか使いやすい物を作れないか?と思ったのが制作のきっかけでした。
(詳細興味ある方はこちらも是非)
このツールは実際に絵を描いている人からも大きく反響があり、好意的な感想をたくさんいただく事ができました。
年の半ばは一旦開発の手を止め、コミュニティ活動に積極的に乗り出しました。
初めて主催したLT会である「生成AIなんでもLT会」は、初回は368人、2回目は345人と非常に多くの方に参加いただかことができました。
また、登壇者の方をはじめ、一緒に運営を手伝ってくれた友人達にも感謝が尽きません。
年の後半は再びツールを作ったり、新技術の論文解説に手を出したりしていました。
特に、11月以降は画像生成周りでまた大きな技術発展があり、LCMによる高速画像制作の発表や、animate anyoneなどの高精度の動画操作技術を代表とする多種多様な新技術が出てきた事が大きく、置いて行かれないためにも必死にツール開発と論文読みを続ける毎日を過ごしました。
また、この時期には有り難い事に複数の企業様から技術協力を求められたり、一緒に働かないかとお誘いをいただけるようにもなりました。
(一方で、話を受けすぎて12月はパンク気味になってしまったので、自分のキャパをもっとちゃんと管理しなくてはという反省も生まれました)
つらつらとこの一年やって来た事のうち代表的な物を書いていきましたが、総じて良い一年を過ごせたかなと思います。
今年は生成AI元年と呼ばれていますが、エンジニアとしては悔いなく過ごせたかなと自負しています。
来年は本業もより生成AIに近づける予定で、より一層身近なところで生成AIが引き起こす時代の流れに乗っていければと思います。
作ったもの
-
layerdivider
一枚絵をレイヤー分けするツール
https://github.com/mattyamonaca/layerdivider -
PBremtools
高精度の背景切り抜きツール
https://github.com/mattyamonaca/PBRemTools -
auto_undercoat
自動下塗り&レイヤー分けツール
https://github.com/mattyamonaca/auto_undercoat -
LCM_i2i_PoC
リアルタイムお絵描きツール
https://github.com/mattyamonaca/LCM_i2i_PoC
個人開発者の戦い方
本題。
この一年を通して感じた今後のエンジニア活動(特に個人開発)への影響や、身の振り方について書いていこうと思います。
生成AIがもたらす影響
ここで語るのは主にLLMによるエンジニアへの影響です。
まぁとにもかくにも特筆すべきはそのコーディング能力の高さでしょう。
正直、単純作業としてのコーダーは十分置き換え可能なレベルの性能は既にあるという見解を持つ方も多いのではないでしょうか。
僕自身雇われエンジニアなので背筋が冷やされるばかりです。
GPTをはじめとしたLLMに雇用がとって変わられる、という事は流石に早々起きないと思っていますが、元々腕の立つエンジニアがLLMの恩恵を受けることで生産性が何倍にも跳ね上がり、いわゆる初学者層や中間層の仕事の大部分を巻き取ってしまう、なんでシナリオは結構現実味があるのでは?と思ってしまいます。
一方で、個人開発者にとってはどちらかというと追い風になると思っています。
個人開発の大きな壁として人手不足がありますが、そこが一気に改善されて今までもより大きいプロダクトの開発ができるようになったり、高速で新製品を出せるようになっていくはずです。
個人開発はどう作るかより何を作るか?の方が重要度が高いと思っている(アイディアの比重が大きい)ため「現時点では」生成AIと直接競合せず、むしろその恩恵を多大に受ける立場かと思います。
LLMがどこまで進化していくは今のとこの検討もつきませんが、このままの進化スピードが続くのであれば、中長期的には「自分のプロダクトを持っているエンジニア」か「初学層、中間層の仕事を巻き取る凄腕エンジニア」がエンジニアの主流となる世界になっていくのでは?と予想しています。
最も、生成AIが行き着くところまで行きつけばAIを使うより人間を使った方が安い仕事しか残らなくなるでしょうし、技術が進化しても様々なしがらみから実際の労働には適用できない可能性も大きくあるので、あくまで予想に過ぎません。
ただ、方向性としてはざっくりその二つの方向に収束していくのかなーという肌感があります。
ここで、後者の凄腕エンジニアを目指すのは正直かなりハードルが高いと思います。
現時点で凄腕の人は、GPTによる後押しで更に能力を高めていく事が予想されるので、
今ある差が縮まる事は少なく、どんどん開いていくのでは?という疑念があります。
他方、自分のプロダクトを持つ事はマネタイズのハードルは高いものの、プロダクトを作るだけであれば誰でも始める事ができます。
なのでぜひ、LLMの出現で今後の身の振り方を考えている人は自分でプロダクトを持つ、その第一歩として個人開発に手を出してみて欲しいなと思います。
生成AI領域に個人開発者が立ち向かうには
とはいえ、個人開発でプロダクトを作りお金を稼ぐというのは簡単ではありません。
ただ、今年色々とやった結果、なにも作ったプロダクト自体でマネタイズをしなくても良いのでは?という気持ちになりました。
この記事の前半で述べた通り、今年は色々とプロダクトを作って公開してきましたが、その中でマネタイズを目的として作った物は一つもありません。
しかし、結果としてそこで公開した技術が目に留まり、技術のアドバイスをして欲しいであったり、共同開発に誘われたりなどお金につながるような動きも年の後半にはたくさん出てきました。
これは、生成AIのような新興の技術領域であり、専門家と呼ばれる人材が少ない今だからこそできる動き方だと思います。
特に、日々新技術が出てくるような現状では企業が追いつく事は難しいため、個人ならではの身軽さを活かして新技術を使ったプロダクトを高速で開発し、当たるまで出し続けるという動きがとても強かったなと思います。
この動き方は、いわゆる「驚き屋」と呼ばれている方達と近いです。
ただ、エンジニアであるからには驚き屋の一歩先を行きたいなと思っていて、こんな使い方ができる!とか、こんな未来になる!と口にするだけではなく、その一端でもいいので実際に使える物を作り、その技術がもたらす未来に説得力を与える事こそが個人開発エンジニアがこの領域で戦える部分なのかな?と思っています。
layerdividerなんかはまさにそこを目指したプロダクトでした。
画像生成AIは発足当時、レイヤー分けやPSDでの出力ができないから業務では使えないと言われていましたが、layerdividerを作る事で、まだまだ実用までは至らなくともレイヤー分けもそのうちできるようになるのでは?という未来に説得力を持たせる助けにはなったのかなと自負しています。
また月並みな話ですが、せっかく色んなことをやったとしても発信しなければ他の人の目に留まりません。
僕のように自分でLT会を企画しろとまでは言いませんが、どうやったら自分のやった内容が人の目につくか?は常に考えて行く必要があるかなと思います。(まぁここだけ突き詰めるとそれこそ驚き屋になってしまうので、塩梅は難しいところです)
ここまで長々と書いてきましたが、言いたい事としては以下になります。
- 個人開発者の強みは機動力の高さ
- 個人開発は必ずしもプロダクトでマネタイズしなくても良い
- 個人開発で知名度を稼ぎ、その分野の第一人者となる事でマネタイズはできる
- 新技術が勃発している現状は個人開発者には有利
- 実際にプロダクトを作り、説得力の部分で驚き屋とは差をつけよう
- 自分がやった事は積極的に外部に発信しよう
終わりに
一年の終わりという事で、簡単に今年一年の出来事をまとめてみました。
2024年もまだまだ技術革新は続き、今年以上に混沌とした一年になるかと思います。
来年も何とか振り落とされないように食らいついていきたいものですね。
それでは皆様、良いお年をお迎えください。
Discussion