🗒️
24/07/22 ~ 24/07/28 Weekly Report
はじめに
この一週間に学んだ内容や私生活について、備忘録として残していこうと思います。
Input
Books
データエンジニアリングの基礎
1.4章 データエンジニアリングライフサイクルにおけるテクノロジの選択
テクノロジ選択の重要な要素
- チームの規模と能力: チームの規模やスキルレベルによって、選択すべきテクノロジは異なります。[4.1] 小規模なチームであれば、シンプルで扱いやすい技術が適している一方、大規模なチームであれば、より複雑な技術にも対応できる体制が必要です。
- 市場投入までのスピード: 迅速な開発が求められる場合は、クラウドベースのマネージドサービスの活用が有効です。[4.2]
- 相互運用性: 異なるシステム間でのデータ連携をスムーズに行うためには、標準フォーマットやオープンAPIを採用することが重要です。[4.3]
- コスト最適化とビジネス価値: 高価な技術が常に最適であるとは限りません。費用対効果を考慮し、ビジネス価値を最大化する技術を選択する必要があります。[4.4]
- 現在と未来: 現在のニーズに最適な技術を選択する一方で、将来の変化にも柔軟に対応できる計画を立てることが重要です。 [4.5] 特定の技術に固執しすぎず、将来的な移行も視野に入れておくべきです。
設置場所の選択
- オンプレミス: 従来型の設置方法で、自社でハードウェアやソフトウェアを所有・管理します。既存のシステムや運用体制によっては、オンプレミス環境の方が適している場合があります。
- クラウド: AWS、Azure、GCPなどのクラウドサービスを利用する設置方法です。柔軟なスケーラビリティ、従量課金によるコスト削減、運用負荷の軽減などのメリットがあります。
- ハイブリッドクラウド: オンプレミス環境とクラウド環境を組み合わせた設置方法です。既存システムとの連携が必要な場合などに有効ですが、運用が複雑になる可能性もあります。
- マルチクラウド: 複数のクラウドサービスを併用する設置方法です。特定のクラウドサービスへの依存度を軽減できますが、管理が複雑になる可能性もあります。
構築 vs. 購入
- オープンソースソフトウェア: コスト面で有利な場合が多いが、運用・保守の負担が大きくなる可能性があります。
- プロプライエタリ製品: ベンダーのサポートを受けられるが、コストが高額になる場合や、ベンダーロックインのリスクがあります。
モノリス vs. モジュール
- モノリス: 一つの巨大なシステムとして構築する方法です。理解や管理は容易だが、システム全体に影響が及ぶ変更や障害が発生するリスクがあります。
- モジュール: システムを複数の独立したモジュールに分割して構築する方法です。変更や障害の影響を局所化できるが、システム全体が複雑になる可能性があります。
サーバレス vs. サーバ
- サーバレス: サーバ管理が不要なアーキテクチャです。 運用負荷の軽減、自動スケーリングなどのメリットがあります。
- コンテナ: アプリケーションの実行環境をパッケージ化したものです。環境依存の問題を回避し、可搬性を高めることができます。
その他の考慮事項
- 最適化、性能、ベンチマーク: 性能は重要な要素ですが、過度な最適化は避けるべきです。 現実的なユースケースに基づいた評価が重要です。
- DataOps、データ管理: 効率的かつ信頼性の高いデータエンジニアリングを実現するために、DataOpsやデータ管理の原則を取り入れることが重要です。
5章 ソースシステムにおけるデータ生成
データソースの種類と特徴
- アナログデータ: 音声、手書き文字、楽器演奏など、現実世界で生成されるデータ。 デジタル形式に変換して利用されます。
- デジタルデータ: コンピュータシステムによって直接生成されるデータ。 ECサイトの取引データ、IoTデバイスのセンサーデータなどがあります。
主要なソースシステムの種類と概念
- ファイルと非構造化データ: データレイクでよく見られるデータ形式。 センサーデータ、ログファイル、画像データなど、さまざまな形式があります。
- API: アプリケーションが外部システムとやり取りするためのインターフェース。 Web APIからJSONやXML形式でデータを取得することが多いです。
- アプリケーションデータベース(OLTPシステム): トランザクション処理に最適化されたデータベース。 オンライン取引や在庫管理などで利用されます。 RDBMSはこのカテゴリに該当します。
- OLAPシステム: 分析処理に最適化されたデータベース。 データウェアハウスやデータマートなどがあります。
- 変更データキャプチャ(CDC): データベースの変更をリアルタイムに取得する技術。 データベースの更新をイベントストリームとして取得できます。
- ログ: アプリケーションやシステムのイベントを記録したデータ。 エラーログ、アクセスログなど、さまざまな種類のログがあります。
- メッセージとストリーム: イベント駆動アーキテクチャで利用されるデータ形式。 メッセージキューやストリーミングプラットフォームを通じて、非同期的にデータを送受信します。 メッセージは個別のデータ単位、ストリームは連続的なデータ列として扱われます。
ソースシステムの実践的な詳細
-
データベース: データベースは、リレーショナルデータベース(RDBMS)、ドキュメントストア、ワイドカラムデータベース、グラフデータベースなど、さまざまな種類があります。 データエンジニアは、各データベースの特性を理解し、適切な方法でデータを取得する必要があります。
- RDBMS: ACID特性に準拠し、正規化されたスキーマを持つデータベース。 トランザクション処理に適していますが、データ分析には不向きな場合があります。
- ドキュメントストア: JSONのようなドキュメント形式でデータを格納するデータベース。 スキーマが柔軟で、開発が容易ですが、複雑なクエリには不向きな場合があります。
- ワイドカラムデータベース: 大量のデータを高速に処理することに特化したデータベース。 センサーデータやログデータの保存に適していますが、複雑なクエリには不向きな場合があります。
- グラフデータベース: ノードとエッジの関係でデータを表現するデータベース。 ソーシャルネットワーク分析やレコメンデーションシステムなどで利用されます。
- API: APIを利用する場合、APIクライアントライブラリ、データコネクタプラットフォーム、データ共有などの技術を活用することで、データ取得のプロセスを簡素化できます。
- メッセージキューとイベントストリーミングパイプライン: メッセージキューは、アプリケーション間で非同期にメッセージを送受信するための仕組みです。 イベントストリーミングパイプラインは、大量のイベントデータをリアルタイムに処理するための仕組みです。 データエンジニアは、これらの仕組みを利用することで、イベントデータの取り込みを効率化できます。
ソースシステムにおけるデータエンジニアリングの考慮事項
- 一緒に仕事をする人: データエンジニアは、ソースシステムの開発・運用チームと緊密に連携する必要があります。 コミュニケーションと協力体制を構築することで、データ品質の向上や問題発生時の迅速な対応が可能になります。
- 底流: セキュリティ、データ管理、DataOps、データアーキテクチャ、オーケストレーション、ソフトウェアエンジニアリングといった、データエンジニアリングの基盤となる要素は、ソースシステムの段階でも重要となります。
ウェブ最適化ではじめる機械学習
2.3章 組合せのあるテスト:要素に分解して考える
ウェブサイトは写真、テキスト、ボタンなど複数の要素の組合せで構成されているため、A/Bテストでは複数の要素を同時に変更したデザイン案を評価したい場合があります。3章では、複数の要素の組合せからなるウェブサイトのA/Bテストについて解説されています。
ポイント
- 要素の組合せを考慮した統計モデルを構築することで、少ないサンプル数でも、それぞれの要素が及ぼす効果(主効果)と要素の組合せによって生まれる効果(交互作用)を評価できます。
- 単純に要素の効果を足し合わせるだけでは、要素間の相互作用を見落としてしまう可能性があります。
- 交互作用を考慮することで、より正確な結果が得られ、ウェブサイトのデザインにおける要素間の関係性を深く理解することができます。
- 複数の統計モデルから最適なものを選ぶことをモデル選択と呼びます。
- モデル選択においては、データへの当てはまりの良さだけでなく、解釈のしやすさも考慮する必要があります。
- 直交計画を用いることで、テストに必要な組合せの数を減らすことができます。ただし、ウェブ最適化では、すべての組合せをテストするコストが低いため、直交計画のメリットは薄い可能性があります。
例:株式会社XのカメラLPにおけるA/Bテスト
- 最初の分析では、ヒーロー画像とボタンの文言の主効果のみに着目した統計モデルを採用していた。
- その後、データの分析を進めていくと、要素間の交互作用が無視できない大きさであることが分かりました。具体的には、「詳しく見る」ボタンは、サンプル写真と組み合わせるとクリック率が低下する傾向が見られた。
- これは、「詳しく見る」ボタンとサンプル写真の組み合わせが、ユーザーに商品を分かりにくくさせているためと考えられる。
Blogs
-
CA DATA NIGHT #4 〜映像メディア技術による新たなデータサイエンスの可能性〜 開催レポート
サイバーエージェントが主催するデータサイエンスに特化した技術者向けの勉強会のイベントレポート。 - 実務におけるRAG 〜学びと現場のノウハウ〜
-
実務において回帰分析を行うに当たっての注意点を改めて挙げてみる
実務においては「説明性」が必要なケースとあまり加味されないケースで分かれる。この辺りは書籍で理論を学ぶことはできるが、実践は実務で身に着けていくしかないのかな。 -
A critical review of Marketing Mix Modeling — From hype to reality
マーケティング業界のチャネル効果を測る回帰的手法として、マーケティングミックスモデル(MMM)があるが、もし使用するなら注意を払い慎重に評価する必要があるという話。 - 機械学習による統計的実験計画 ベイズ最適化を中心に
-
「Google ドキュメント」がMarkdown対応を強化 ~「.md」形式のファイルをサポート
Google docのヘビーユーザである私からすると、とてもうれしい情報。Notionを使う日は遠い。 - Practical Computer Simulations for Product Analysts
- ヘルプデスクの事例で学ぶAIエージェント
- [AI系の研究・開発に関する情報収集元を紹介](https://qiita.com/YutaroOgawa2/ite ms/01dce7b2ffab79fc5fcc)
全てを実践していても、情報収集で可処分時間が終わってしまうため、どのメディアを活用するか慎重に精査する必要がある。
現在はMediumのdaily newsを購読しているが、ここで紹介されているWeekly Newsを新たに購読したので、これからよさそうなものを選定して日常に浸透させていこう。 -
5 Habits Senior Data Scientists Use to Boost Their Productivity
データサイエンティストとして過ごしていく上で、当たり前だけどとても重要な習慣について書かれている。心に刻んでおこう。 - AOAI Dev Day LLMシステム開発 Tips集
-
Feature Engineering A-Z
あらゆるデータソースにおける特徴量エンジニアリングの手法についてまとめてあるサイト。これ以上にないくらい網羅的。読み進めるのは時間がかかるので、リファレンスとして活用するといいかも。 - ABEMAにおけるLLMを用いたコンテンツベース推薦システム導入と効果検証
- 推薦システムを本番導入する上で一番優先すべきだったこと
-
Gemini 1.5 のロングコンテキストを活かして AI を育てるアプローチ 〜 RAG の限界を軽やかに突破するために
NotebookLMはたまに使うことがあるが、ロングコンテキストLLMはRAGのような文書検索botの代替になり得ると思う。
Media
-
3Blue1BrownJapan_線形代数のエッセンス
- 16/16まですべて視聴完了。
-
AIcia Sollid_Deeplearningの世界
- 22/43まで完了
- ソニーとLLM - TechLovers #4
- Amazon Bedrock Overview
- BigData-JAWS #27
Life
- 新たに書籍を購入した
-
つくりながら学ぶ!生成AIアプリ&エージェント開発入門
- 以前、Zennで公開されていた生成AIアプリをStreamlitで開発する本の著者が出版した書籍。PDF版を購入させていただきました。時間がある時にコードを動かしてみよう。
-
データマネジメント知識体系ガイド
- データ界隈で有名なDMBOKが改定新版を発売されたということで購入した。正直高い。大きくて読みづらいので電子版を発売してくれ。寝る前の読書として読み進めていこう。
-
AIエンジニアのための機械学習システムデザインパターン
- MLOps関連の書籍。少し古いがAmazonでの評価が高かったことで購入。kaggleもやる必要はあるが、まずは社会実装を学習していく。翔泳社の書籍はPDFでDLできることを今回初めて知り、今までkidle版を購入していたから後悔している。
-
つくりながら学ぶ!生成AIアプリ&エージェント開発入門
- 今週は書籍をすすめることがメインになってしまい、全然kaggleに着手することができなかった。少なくとも平日1時間はkaggleコンペに着手することを心がけよう。
- 飲み会や個人的な予定があり筋トレや時学習の時間をしっかりとることができなかった。予定があることは仕方ないので、習慣は崩さないことを意識する。
- 転職活動によるストレスを感じることがある。瞑想や筋トレを継続し、健康的な精神状態を保とう。早く転職活動を終わらせないと日常生活に多少の支障をきたしそうだ。
Discussion