こんにちは!Panta Rheiバックオフィスのわゆです!
今回は、弊社で定期開催している「社内Panda勉強会 (#06) 」の様子をお届けします!
Panda勉強会は普段、「前座 (ライトな発表) 」と「本編」の2部構成で開催しています。エンジニア以外のメンバーでも登壇しやすい環境をつくり、社内のアウトプットのハードルを下げるための工夫です。
ですが、今回は、登壇者どちらも技術力の高いエンジニア2人になりました。前座なしで、スタートから見応えのあるハイレベルな技術発表会となった当日の様子をレポートします!
1:ラベルが少ない時の画像モデルの育て方
1人目は、自社モデル開発を担当しているインターン生による発表です。
教科書通りのAI開発では「大量の綺麗なデータ」が前提とされがちですが、実務の現場では「最初から十分な教師データが揃っている案件などほぼ存在しない」というシビアな現実に直面します。顧客自身もどんなデータが必要か分からない状態から、いかに精度を出していくかーー。今回は、そうした現実の課題にどうアプローチしていったのか、具体的な試行錯誤が語られました。
データが極端に少ないと、AIは「背景画像」など本質と関係ない要素を勝手に学習してしまう「過学習」という罠にハマります。この壁を越えるために、他領域で学習済みの重みを再利用する「事前学習」を取り入れ、現場のデータに合わせて「ファインチューニング」で調整を施していく戦略が明かされました。
さらに、チューニング時にせっかく学んだ知識が上書き破壊される「破滅的忘却」を防ぐため、学習率を精密にコントロールし、パラメータを更新する層を巧みに絞り込む試行錯誤のプロセスが提示されました。
発表の締めくくりに語られたのは、「技術の選択が目的化してはいけない」という強い想いでした。「そもそもAIを使うべきなのか?」「別の手段で解決できないか?」と常に本質を問い直す姿勢に、先輩エンジニアたちも深く頷いていました。
2:大規模サービスにおける並行処理とアプリ設計
2人目は、バックエンド開発を担当しているインターン生による発表です。
多くのユーザーが同時に押し寄せる大規模サービスでは、たった1つの処理の遅れやエラーが、システム全体を巻き込む壊滅的なダウンを引き起こしかねません。発表では、システムを安定して稼働させ続けるための「4つの巨大な壁」と、その攻略法が体系的に明かされました。
- アクセス集中の壁:入り口でトラフィックを制御し、APIサーバーやデータベースを分割(DBシャーディング)して負荷を分散させる。
- 同時更新の壁:残り1個の在庫に複数人が同時に購入ボタンを押した際、トランザクションやロック処理(悲観ロック・楽観ロック)を駆使して「在庫マイナス」を防ぎ、整合性を担保する。
- 重い処理の壁:メール送信や集計処理などを裏側に回す「非同期処理(キューイング)」を導入し、画面側ではユーザーを待たせずに即座にレスポンスを返す。
- 障害連鎖の壁:一部機能のエラーが全体へ波及しないよう、サーキットブレーカーやキャッシュを使った代替表示(フォールバック)で切り離す。
料理人のマルチタスクに例えた「並行・並列・非同期」の違いの解説から始まり、Shopify、Slack、GitHubといった世界規模のサービスで採用されている実践事例まで、バックエンド設計の美学とロジックが詰まった熱量溢れる発表となりました。
おわりに
普段は「誰もが発信しやすいカジュアルな場」として運営しているPanda勉強会ですが、こうしてインターン生が実務レベルのディープな知見をシェアし、お互いに高め合えるのもPanta Rheiの魅力だと思います。
また、社内だけでなく、社外向けの勉強会もConnpassにて定期的に開催しています!
「社内の雰囲気を見てみたい」「エンジニアと技術的な話をしてみたい」という方は、ぜひお気軽にイベントにご参加ください。
もちろん、採用への直接のご応募も大歓迎です!
- 若手からどんどんレベルの高いアウトプットに挑戦したい
- 技術の本質に向き合いながら実務で成長したい
そんな想いを持ったエンジニアの皆さん、「話を聞きに行きたい」ボタンからのご応募をお待ちしています!