タグ

ブックマーク / note.com (766)

  • ローカルLLMの長文推論、メモリ使用量を節約する方法:KVキャッシュの量子化|AIサトシ

    大規模言語モデル(LLM)において、メモリ使用量の効率化は非常に重要です。特に長文処理を行う場合です。モデルに入力するコンテクストが長くなるほど、メモリ消費量も増加します。 プロンプトに入力する文字数(Token数)と必要メモリについて計算したメモ📝 精度との兼ね合いですが、長文扱うときは、mistral-v0.1圧倒的にコスパ良い pic.twitter.com/Nqn5SXDZ9u — AI𝕏サトシ⏩ (@AiXsatoshi) May 27, 2024 Mistral-7Bは、v0.1では、約4K tokensのSliding window attention(SWA)にて、コンテクスト長に消費されるメモリを低減しました。しかし、性能への影響からと考えますが、v0.2以降のアップデートで、SWAは排除されています。入力トークンを絞ることでメモリ容量を低減すれば、当然複雑性や表現力

    ローカルLLMの長文推論、メモリ使用量を節約する方法:KVキャッシュの量子化|AIサトシ
    sh19910711
    sh19910711 2024/05/29
    "Mistral-7B: v0.2以降のアップデートでSWAは排除 + 入力トークンを絞ることでメモリ容量を低減すれば当然複雑性や表現力が低下 / KVキャッシュ量子化: 計算結果を保存して再利用 + 消費者向けGPUでより長いテキスト生成が可能"
  • デバイス数の変化によって連合学習(federated learning)の性能がどのように変化するか検証する|株式会社Rosso公式note

    はじめにこんにちは。株式会社Rosso、AI部です。 近年、個人情報を保護しつつ機械学習を行う連合学習(federated learning)という新しい手法が登場しています。 ただし、連合学習を行う際は、従来の機械学習モデルと比べ、性能が悪化しないかどうかに留意する必要があります。 この観点を踏まえ、記事では、連合学習を行う際に使用するデバイス数に着目。連合学習を行う際のデバイス数が変化した場合、性能が従来の機械学習モデルと比較してどのように変化するか、簡単な検証を行います。 連合学習の概要機械学習でデータを使用する際には、個人の顔が映し出された画像や、性別、年収、住所などで構成されているテーブルデータなど、個人情報が入ったデータを取り扱うケースがあります。 そのようなデータを扱う場合、個人が特定されないようにデータを加工したり、個人情報の委託先に監督を行うなど、プライバシー保護に配慮

    デバイス数の変化によって連合学習(federated learning)の性能がどのように変化するか検証する|株式会社Rosso公式note
    sh19910711
    sh19910711 2024/05/29
    "2017年に発表したFederated Averagingの手法が発端 / プライバシーに関わる画像が含まれているとサーバーにその情報がいきわたってしまうデメリット + サーバーは各デバイスから送られたパラメータを平均する" intel/openfl 2023
  • Gemini API で 動画の質問応答 を試す|npaka

    「Gemini API」で動画の質問応答を試したので、まとめました。 1. Gemini 1.5 Pro の 動画データ入力「Gemini 1.5 Pro」で動画データでの入力が可能になりました。 サポートしているファイル形式は、次のとおりです。 ・MP4 : video/mp4 ・MPEG : video/mpeg ・MOV : video/mov ・AVI : video/avi ・FLV : video/x-flv ・MPG : video/mpg ・WebM : video/WebM ・WMV : video/WMV ・3GPP : video/3gpp 「File API」は動画を1フレーム/秒(FPS)でサンプリングしますが、最適な推論品質を提供するために変更される可能性があります。解像度や品質に関係なく、個々の画像は258トークンを使用します。 2. 動画の質問応答動画の質問

    Gemini API で 動画の質問応答 を試す|npaka
    sh19910711
    sh19910711 2024/05/28
    "動画を1フレーム/秒(FPS)でサンプリングしますが、最適な推論品質を提供するために変更される可能性 / 解像度や品質に関係なく、個々の画像は258トークンを使用 / プロジェクト毎に最大20GBのファイルを保存"
  • ChatGPTに新しく搭載されたモデル:GPT-4oに、漫画とイラストのレビューをしてもらう話|Focus On The Interaction Magazine

    2024年5月13日、OpenAIが新しいモデルであるGPT-4oをリリースしました。 GPT-4oは、音声、視覚、テキストのリアルタイム処理が可能で、従来のモデルを大きく上回る性能を備えているとのこと。 発表したその日からChatGPT(有料版)で使えるようになっているということなので、早速自作の漫画イラストのレビューをしてもらいました。 GPT-4oによる漫画のレビューそもそも漫画が読めるのかそもそも、GPT-4oは漫画が読めるのでしょうか。 試してみました。 拙著「光射すへや」よりこれはなんですか?GPT-4oの回答 この画像は漫画の一コマです。登場人物の会話が描かれています。以下にセリフを日語で書き出します: 1. **最初のコマ** - 「たいしたもてなしができなくてごめんなさい」 - 「わたしこの街に出稼ぎに来ているの。ここは工場が用意してくれた部屋なのよ」 2. **二つ

    ChatGPTに新しく搭載されたモデル:GPT-4oに、漫画とイラストのレビューをしてもらう話|Focus On The Interaction Magazine
    sh19910711
    sh19910711 2024/05/28
    "ネーム以上の段階であれば詳細に読み取れる / 「長い間屋内にいて、久しぶりに外に出た」ということを、直接描写や説明をしていないのに読み取って ~ / 何も指示しなければ、画像を左上から右下に向かって読む"
  • Rust製ツールのmiseでランタイムバージョンを管理する|Taro Yamashita

    アキッパの山下です。 手元の環境を汚さずに、PHP/Python/Node.jsなどのランタイムバージョンを切り替えたいというニーズでは、Dockerの利用がすっかり主流だと思いますが、シーンによってはPythonのvenvといったツールもまだまだ活躍するシーンは多いのではないでしょうか。 そんなツールの中で、今回はRust製ツールのmiseを紹介します。 ランタイムバージョン管理とは?あらためて、ITシステムやWebサービスを開発・運用していく場合、どのプログラミング言語で構築されているか?だけでなく、そのバージョンは?も重要なポイントです。 稼動しているサーバにインストールされている言語バージョンと、手元の開発環境でバージョンが異なれば、手元で動くのにサーバで動かない(あるいはその逆)が往々にして起こります。 開発環境にサーバと同じバージョンをインストールすれば良いのですが、サーバAで

    Rust製ツールのmiseでランタイムバージョンを管理する|Taro Yamashita
    sh19910711
    sh19910711 2024/05/28
    "手元の環境を汚さずに、PHP/Python/Node.jsなどのランタイムバージョンを切り替えたいというニーズ / mise: asdfと完全互換なうえに、速度面でも文句なし + rtxからmiseに名前が変わった"
  • 個人ゲーム開発者のNotionの使い方|緋壱

    私はNotionで創作プロジェクトを管理したり、プログラミングの記録をしたり、絵の描き方や文章の書き方を自分なりにまとめたりするなど、あらゆる情報をまとめています。 Notionは非常にパワフルで、様々なトピックについて自分好みにまとめることができるツールです。 Notionは機能性も拡張性もあり独特な使用感なので、方向性を見誤ると挫折する可能性があります。 Notionの効率的なまとめ方や、メモを取ろうとして三日坊主になっている人、Notionを使う軸に悩んでいる人の参考になれば幸いです。 0. Notionを使う軸を決めるNotionは多機能で様々なことができる万能なツールですが、私にとってはNotionは手段であり、ツールにすぎません。 以前はNotionをどう面白く使うかということに興味がありましたが、現在はNotionというツールをどう使えば自分の理想に近づけるかということだけを

    個人ゲーム開発者のNotionの使い方|緋壱
    sh19910711
    sh19910711 2024/05/24
    "Notion: 独特な使用感なので、方向性を見誤ると挫折する / Notionというツールをどう使えば自分の理想に近づけるかということだけを考えています / データベースよりも目次形式の方が分かりやすく活用しやすい"
  • μTransfer: 小規模モデルでのハイパラ探索を大規模モデルに転移し学習を効率化する|Tatsuya Shirakawa

    最近、友人から大規模モデルの学習を劇的に効率化しそうな下記の事実(μTransfer)を教えてもらい、こんなことが成り立つことに非常に驚くとともに、それを知らなかったことにちょっとしたショックを受けました。 μTransfer 下記の手順で大規模モデル(Neural Networks)の最適なハイパーパラメータを効率的に獲得できる 1. 学習したい大規模モデル(ターゲットモデル)と同じアーキテクチャの次元や層数のより小さいモデルを用意し、それぞれのモデルのパラメータと最適化アルゴリズムを μP と呼ばれる方法でパラメータ付けする 2. その小さいモデルで、最適なハイパーパラメータ(学習率など)を探索する 3. ターゲットモデルに小さいモデルで獲得されたハイパーパラメータを適用する Greg Yang+, "Tensor Programs V: Tuning Large Neural Net

    μTransfer: 小規模モデルでのハイパラ探索を大規模モデルに転移し学習を効率化する|Tatsuya Shirakawa
    sh19910711
    sh19910711 2024/05/23
    "μTransfer: 学習したい大規模モデル(ターゲットモデル)と同じアーキテクチャの次元や層数のより小さいモデルを用意 + μP と呼ばれる方法でパラメータ付け / 学習率を任意に大きなモデルにそのまま使い回せる"
  • [翻訳]LearnLMによる好奇心と理解の拡張|Pogo / gmoriki

    How generative AI expands curiosity and understanding with LearnLMの翻訳記事です。 Google I/Oで発表された教育・学習向けモデルGemini:LearnLMが紹介されています。教育に特化したLLMが初めて公開されたのではないでしょうか。 LearnLMは、教育と学習の経験をより能動的で個人的かつ魅力的にするため、教育研究に基づいて微調整された新しいモデルファミリーです。 生成AIは、学習と教育へのアプローチを根的に変えつつあり、教育者と学習者をサポートする強力な新しい方法を可能にしています。それは好奇心と理解を次のレベルに引き上げるものであり、学習を再構想するのにどのように役立つかは、まだ始まったばかりです。 学習のための新しいモデルファミリーの構築今日、私たちはLearnLMを紹介します。これは、Geminiをベ

    [翻訳]LearnLMによる好奇心と理解の拡張|Pogo / gmoriki
    sh19910711
    sh19910711 2024/05/21
    "Gems: パーソナルな専門家として機能するGeminiのカスタムバージョン + 今後数ヶ月のうちに提供 / LearnLM: Google I/Oで発表 + 教育研究に基づいて微調整 / タイムリーなフィードバック + 認知負荷を管理 + 計画を立てモニタリング"
  • Quartoで技術書を写経すると楽しい|igjit

    ソースコードはこちら。 コードの写経に今回はじめてQuartoを使ったのですが、これが快適だったので紹介します。 Quartoとは公式ページには、QuartoはPandocを基にした技術文書の出版システムです、とあります。 Markdownでコード混じりの文書を書いたら、コードブロックの中身を自動で実行してくれて、結果をHTMLとかPDFとかプレゼンスライドとかに書き出してくれるやつです。 https://quarto.org/Rユーザーにとっては次世代のR Markdownとのことです。 はじめかたhttps://quarto.org/docs/get-started/ のとおり、Quarto CLIツールをインストールします。 DockerでR、RStudioを動かす場合、最近のイメージならQuartoはインストール済みです。(rocker/tidyverse:4.2.1 で確認) Q

    Quartoで技術書を写経すると楽しい|igjit
    sh19910711
    sh19910711 2024/05/21
    "Quarto: Pandocを基にした技術文書の出版システム + 次世代のR Markdown / コード混じりの文書を書いたら、コードブロックの中身を自動で実行 / 複数の章からなる文書を書いて公開するのに便利" 2022
  • 推しのプロンプト実験管理ツール「promptfoo」を解説|にょす

    最近、推したいプロンプト実験管理方法を見つけたので、そちらの紹介記事になります!これを見つけてから、めちゃ楽になりました! 前提「ん?実験管理?」と思う方もいるかもなので、軽く背景のところから共有したいのですが、システムに組み込むプロンプト作りは、すごい難易度が高いなーと思ってます。 何が大変かというと、求められる品質が高いからです! 出力形式が期待通りでないとシステムエラーになってしまう。10回中9回成功しても、それはエラー率10%なので安定とは言えない。 様々な要件がある。出力形式や文字数・レイテンシ・コストなど、ルールベースで判定できるものもあれば「ちゃんと指示に従っているか?」「魅力的なアウトプットか?」など定性的なものもある。これらの要件を満たすプロンプトを作る必要がある ということで、上記の「多様的な要件を満たす出力」と「何回やっても期待する出力が出る安定性」を兼ね備えたプロン

    推しのプロンプト実験管理ツール「promptfoo」を解説|にょす
    sh19910711
    sh19910711 2024/05/21
    "promptfoo: 複数のプロンプト(あるいはLLM)を表形式で比較 + 多様な評価方法を実装いらずで利用できる / prompfooconfig.yaml というファイルで様々な設定 + プロンプトと利用するLLM(プロバイダー)、テストケースが記載"
  • OpenAI gpt-4o でzero shotで異常検知(Anomaly Detection)を試してみる|スカイ

    はじめにこんにちは、Caratの脇山です。 先日 gpt-4o が発表リリースされました。 性能、速度、料金などがアップデートされましたね。 詳細は他の方の記事や公式のドキュメントにまとまっているので触れませんが、特にトークナイザの改善と音声モデルの処理が一つのニューラルネットで完結できる点に感動しました。 具体的にはトークナイザ改善でより高速、高性能、低価格を実現できる点や 音声が 音声 -> テキスト -> 音声 の3つのパイプラインを通って生成されるのではなく、1つのニューラルネットで周囲の音や感情といった情報も踏まえて生成される点がすごいと思っています。 gpt-4oを使った音声出力を試したかったのですが、近日公開ということなので、別の検証をしていきたいと思います。 画像の読み取り精度がアップしたということで、どのくらいの改善がされたのだろうと思い、異常検知のデータセットを使って精

    OpenAI gpt-4o でzero shotで異常検知(Anomaly Detection)を試してみる|スカイ
    sh19910711
    sh19910711 2024/05/19
    "gpt-4o: 画像の読み取り精度がアップ + 異常検知のデータセットを使って精度を検証 / プロトタイプの機械学習モデルを作るのに最適 + 検証した結果を元に本格的な機械学習モデルを作るのが良い"
  • 採用拡大フェーズに突入して採用ATSをHubspotからHERP Hireに移管した話|なおぴん

    はじめにこんにちは。キャディ株式会社のHRで採用のリーダーをしています。2019年の年末に、「HRMOSからHubspotに採用ATSを移管した」ってnoteを前任のあんでぃが出していたのですが、そこから1年半‥‥実は2021年6月にHERP Hireに移管しています。「キャディさん、Hubspotどうやって使ってるか教えて!」なんて聞かれることも多く「あ、いや、あの、もう、じつは」ってなってたこともあり、またHERP激ラブな我がチームを代表して、この移管にまつわる話をまとめたいと思います。 キャディは上記の記事の後、更なる採用拡大フェーズに突入し、採用目標も数倍以上、候補者数も数倍以上、採用オペレーション(面接設定など)するアシスタントも、現場の面接官も全てが数倍に増えてきたところでした。Hubspotに切り替えた時期にも十分に検討されたことでしたが、改めて「もう無理やあああああ(理由は

    採用拡大フェーズに突入して採用ATSをHubspotからHERP Hireに移管した話|なおぴん
    sh19910711
    sh19910711 2024/05/08
    "採用目標も数倍以上、候補者数も数倍以上 + 全てが数倍に増えてきた / HERP: 連携してる媒体が多いのが強み + フィールドがあるので、分析ができる + 標準で搭載されてるレポートシリーズがいい仕事をして" 2021
  • 効率的な論文の読み方 -読み解くヒントの狙い読みをしよう-|石原尚(大阪大学教員)

    論文には難解な内容が詳細まで記載されているため、指針もなく読み進めていくだけではなかなか理解を進めることができません。効率的に読み進めていくには、論文に散りばめられている「読み解くためのヒント」を集めるための「狙い読み」を先に済ませておくことが有効です。この記事では、そもそも何を読み解くべきかを紹介したうえで、どのようなヒントがどこにあり、またそれによって何をどう読み解いていけばよいかを解説します。 ※この記事は著者のブログ「駆け出し研究者の研究技術入門」からの転載です。一部修正を加えています。 まず把握すべきは論文の「アイデンティティ」と「地図」論文を最初に読むときにまず把握すべきことは、その論文を他とは違うものたらしめている「論文のアイデンティティ」と、その論文を格的に読み込んでいく際に迷わずに効率的に読んで回るための「論文の地図」の2つです。「アイデンティティ」というのは、論文の肝

    効率的な論文の読み方 -読み解くヒントの狙い読みをしよう-|石原尚(大阪大学教員)
    sh19910711
    sh19910711 2024/05/08
    "論文タイトル: 何のために(目的)・何をして(手法)・何を得たか(結果) + まずはタイトルだけを見て、この三要素の ~ / 結論の第1段落: 理解のとっかかり + 「理解すべきだけど理解できていないこと」を把握" 2022
  • 年間200名採用のSmartHRが実践する「中途採用レポーティング」のクフウ|ひな

    こんにちは。SmartHR 採用ユニットの日永と申します。 SmartHRでは、年間200名程度を目標とした中途採用を行なっています。その採用活動については色々なところでオープンにしていますが、この記事では、中途採用のレポーティングにおける工夫について書きたいと思います。 数値の集計やレポートは作って満足しがちですが、正しい情報を必要に応じてさくっと取得して、来時間を割くべきものに集中できるのが理想ですよね。私自身、「これ完璧なのでは...?😳 」という解はまだまだ見つけられていないのですが、ちょうど1年前の自分の悩みが少しだけ改善されてきたので、このタイミングで書いてみることにしました。 日々募集ポジションがオープンしたりクローズしたり、目標人数が変わったり、社外に出している求人票と社内の管理上のポジション名が違ったり、各ポジションで採用フローが違ったり、中途採用の目標管理が複雑すぎ

    年間200名採用のSmartHRが実践する「中途採用レポーティング」のクフウ|ひな
    sh19910711
    sh19910711 2024/05/05
    "採用で使っている各種情報を洗い出したりしてみたのですが、かなりカオスなものに仕上がり / スプレッドシート職人からの卒業を決意し、社内でのヒアリングやスプレッドシート以外の方法を模索" 2021
  • 【単位移行】University of the People③|平八郎

    今回はUniversity of the People(UoPeople)で単位移行を行なった話を書いていきます。 結構めんどくさいポイントが多かったので、実践される方は参考にしてみてください。 単位移行とは?単位移行とは他の大学の単位をUoPeopleの単位に移行することです。 これによって卒業に必要な単位に入れることができるので卒業までの期間を短くすることができます。 卒業に必要な単位は120単位で、単位移行できる単位は60単位が上限です。 ただし、これはコンピュータサイエンスコースの話のため、他の学科などは異なるかもしれません。 また必修単位があるため、60単位編入できた場合であっても、必修単位に換算できなければ120単位以上取る必要が出てきます。 私は48単位移行することができたため、2年半程度で卒業することができそうです。 手続き自体は面倒ですし、手数料などが数万円かかりましたが

    【単位移行】University of the People③|平八郎
    sh19910711
    sh19910711 2024/05/04
    "UoPeople: 卒業に必要な単位は120単位で、単位移行できる単位は60単位が上限 / 単位をUoPeopleが評価できるように変換 + 評価機関はWorld Education Service(WES)に依頼 / 教養系の科目は受講せずに済みました" 2021
  • PyTorchとJAXに対応したKeras3でMNISTを試す|はまち

    バックボーンのフレームワークを、従来のTensorFlowから、デファクトスタンダードになりつつあるPyTorchと、実行効率に優れたJAXも選べるようになったKeras3.0が公開されていたので、さっそくバックボーンをPyTorchやJAXに設定して、手書きアルファベット画像のクラス分け課題のMNISTを試してみました。 23.11.29追記 公式の紹介ページも公開されていました。 https://keras.io/keras_3/ Keras3のインストール、インポート今回はGoogle Colabで試してみます。Keras3は現時点ではPyPI上では、プレビューリリースとしてkeras-coreの名前でインストールできます。 !pip install keras-coreバックエンドの設定(torch, jax, tensorflow) import os os.environ["K

    PyTorchとJAXに対応したKeras3でMNISTを試す|はまち
    sh19910711
    sh19910711 2024/05/03
    "Keras3.0: デファクトスタンダードになりつつあるPyTorchと、実行効率に優れたJAXも選べるようになった / バックエンドをJAXにするとTensorFlowと比べてざっくり2倍程度、学習および推論が高速化" 2023
  • 漫画の制作力を高める作画研究冊子作成のすすめ|とくめい(匿名)

    将来商業漫画家になりたいという人や、kindleでのインディーズ漫画や自己出版漫画でよりクオリティの高い作品を出していきたいという人は、「漫画雑誌の切り抜きをして、作画や漫画表現の勉強になる冊子を作ってみる」というのを強くおすすめします。 用意する物は ・100円ショップなどでクリアファイルバインダーを10冊以上購入 ・コンビニなどでジャンプやサンデー、マガジンなどの漫画雑誌を数冊買う です。 クリアファイルバインダーは、透明のクリアファイル30ページくらいに一ページすつ紙を差し込む形で入れていくバインダーです。 実際はファイル一ページに二ページずつ入れていくので、60ページ分となります。 各バインダーの表紙には ・人物表現 ・背景作画 ・背景効果(流線や集中線やウニフラッシュ、ガーゼブラシなどのああいう背景の効果) ・色々な構図やポーズ ・その他 と記載していき、そのジャンルに適したペー

    漫画の制作力を高める作画研究冊子作成のすすめ|とくめい(匿名)
    sh19910711
    sh19910711 2024/05/02
    "クリアファイルバインダー + 雑誌を数冊買う / 何らかの漫画の表現技法や作画技法、構図やポーズを発見したら、そのページをカッターで切り取り、何コマ目にどういう表現があるかをメモ"
  • ラテン語をはじめたら英語が使えるようになった話|氷壁にアイスアックス

    ラテン語学習をはじめたら、なぜか英語がめちゃくちゃ使えるようになってきました。 英語の学習法としては意味が分からなさすぎる。けれど有用性はあると確信しているので、英語を向上させている中で停滞を感じている人のちょっとした気晴らしにでもなれば幸いです。 ラテン語を学び始めて半年弱が経つのですが、先日たまたま英語を話す機会があり、自分でもびっくりするくらい英語が口をついて出てくるようになっていました。 読み書きは使っているけれどしゃべりになると急激に英語レベルの落ちる、典型的な日人。日常でそんなにしゃべる機会のないまま過ごしていたのに気づいたら向上していたという点がポイントです。 もちろんこの期間、特に英会話に通ったりもしていないです。 最初にまとめるとなぜラテン語学習が英語の上達につながるのか?を自分なりに考えてみた結果、以下のような構造だと推測しています。 ・知らない単語がなんとなくわかる

    ラテン語をはじめたら英語が使えるようになった話|氷壁にアイスアックス
    sh19910711
    sh19910711 2024/05/01
    "使われている漢字からニュアンスはわかるような状態 / sumere(ラテン語take)を知っていれば、assume, consume, presume, resume, sumptuous(英語)の意味もなんとなくイメージできる"
  • 【3Dスキャン】引越先に引越前の部屋を持っていこう【iPhoneXS以降】|くろいしよしと

    春! 夜、散歩をしてたら桜の花が咲いていました! こちらは衣替えのタイミングを気温とにらめっこしている日々です。 もう衣替えしてもいいかな?? 開花の喜びでブレブレの図さて、春は出会いと別れの季節。 学生や新入社員はもちろん、 異動・転勤が起きるのも何かと春。 私は引越した後のなんとも言えない寂しい感じが苦手です。 でも平成をジャンプした今、 引越し先に引越し前の部屋を持っていけるようになったので その方法をご紹介しようと思います。 引越が寂しい引越ってわかりやすく環境が変わるので、 切り替えたい!ってときは一番効果的な手法だと思う。 それでもできれば引越はしたくなくて。 荷造りとか〜、お金かかるし〜、みたいな部分ももちろんあるんですが、 一番嫌なところは寂しいところ。 今まで住んできたお部屋とお別れしないといけないところ。 ダンボールにまとめられ、段々と片付いていく部屋。 今まで住んでい

    【3Dスキャン】引越先に引越前の部屋を持っていこう【iPhoneXS以降】|くろいしよしと
    sh19910711
    sh19910711 2024/04/30
    "引越した後のなんとも言えない寂しい感じ / 不動産屋さんに鍵を渡すまでの待つ時間 / Scaniverse: 部屋全体を3Dデータとして保存 + 引越し先に引越し前の部屋を持っていけるようになった" 2023
  • Sparkで少サイズ大量データの課題にどう立ち向かう?|Puuuii

    日々ビッグデータと格闘しておられる私たちデータエンジニアにはなじみ深いSparkのの話です。 小サイズ&大量ファイルのデータを扱うことがなぜ苦手なのか、どう対処すればよいかを見てみましょう。 なぜ小サイズ&大量ファイルが苦手?Sparkは細切れのデータを扱うのがメモリ効率やパフォーマンスの面で苦手です。 具体的なサイズをいうと数KB~数MBだと悪影響が出てきますね。 なぜ細切れのファイルを扱いのが苦手なのかというと、ファイルを開いて・読んで・閉じる必要があるためです。 極端な話、ファイルがひとつだけであれば一度だけの開け閉めと読み取りでいいですから。 またタスクを平行で走らせるときのオーバーヘッドもファイル数に応じて大きくなっていきます。 さらにSparkのメモリ管理は大規模で連続したメモリ領域に特化していて、細切れのファイルだとメモリが枯渇してしまうんですよね。 どう対処する?第一に細切

    Sparkで少サイズ大量データの課題にどう立ち向かう?|Puuuii
    sh19910711
    sh19910711 2024/04/28
    "ファイル: 開いて・読んで・閉じる必要がある + オーバーヘッドもファイル数に応じて大きくなっていきます / 細切れになってしまったファイルは`hdfs dfs -getmerge`などを用いてより大きいファイルに融合するとよい"