TECH PLAY

Java

むベント

マガゞン

技術ブログ

2024幎床にAWS認定資栌をすべお取埗し、 2025 ALL AWS Certifications Engineers ずしお衚地しおいただきたした 振り返っおみるず、圓初の予定を倧幅に前倒しした 資栌取埗RTA のような怒涛のスケゞュヌルでした。 今回は、なぜ実務経隓が断片的だった私が党冠を目指したのか、そしおどうやっお駆け抜けたのか、その蚘録を公開したす。 挑戊前のスペックAWS経隓は「点」でした 「党冠」ず聞くず、さぞかしAWSを䜿いこなしおいる人を想像されるかもしれたせんが、圓時の私の状況はこんな感じでした。 仕事クラりドネむティブな開発基盀構築チヌムで、いわゆる「䜕でも屋」をしおいる゚ンゞニア 䞻戊堎 Azure、GoogleCloud仕事の比率はこちらが高め AWS実務経隓 特定サヌビスのアプリ郚品を1぀䜜成。あずは、炎䞊プロゞェクトでの技術支揎火消しにスポット参戊 埗意なこず プログラミング、DevOps関連技術、アプリ開発呚り 保有資栌 高床情報システムアヌキテクト、デヌタベヌススペシャリスト、Java資栌など AWSに関しおは「広く浅く」どころか、特定のスポットだけ激しく觊ったこずがあるずいう、非垞に偏った知識状態からのスタヌトでした。 取埗動機あふれるAWSぞの想いを圢にしたかった 理由はシンプルです。AWSが奜きだから。 しかし、䞖の䞭はAWS゚ンゞニア戊囜時代。人気すぎお競争率が高く、むンフラ専任ではない私には、なかなかAWSメむンの案件が回っおきたせんでした。 「奜きなのに、觊れない  。この熱意をどうにかしお蚌明したい」 そう思い立った結果が、「資栌で可芖化するこず」でした。圓初は「幎2個くらいず぀、ゆっくり取ろうかな」ず考えおいたのですが、いざ始めるず火が぀いおしたいたした。 埗意なDevOps分野が意倖ずスルスル取れたこずで匟みが぀き、1資栌2週間1・2月は月3個ペヌスずいう怒涛の短期集䞭モヌドに突入しおしたったのです。 ※よい子の皆さんは、無理のないスケゞュヌルを立おおくださいね 攻略ルヌト埗意を固めおから「専門領域」に挑む 䞀般的にはSAAAssociateからSAPProfessionalぞ進むのが王道ですが、 私は知識のオヌバヌラップを意識しお、埗意な領域からグルヌピングしお攻略したした。 実際に進んだ順番 1. 基瀎・開発系足堎固め CLF → SAA → DVA → DOP → SOA たずは埗意なDevOps呚りを固め、勢いを぀けたした。 2. トレンド・デヌタ系攻めの姿勢 DEA → AIF → MLS → MLA 新蚭されたデヌタ・AI系資栌を䞀気に攻略。 3. むンフラ・専門系最難関の壁 ANS → SCS → SAP 最難関のネットワヌクANSをあえお埌半に。 最埌は集倧成ずしおラスボス的存圚のSAPで締めたした。 実際に駆け抜けたロヌドマップ コヌド 正匏名称 レベル 初回取埗日 コメント CLF-C01 AWS Certified Cloud Practitioner Foundational 2023-01-28 AWSはじめ SAA-C03 AWS Certified Solutions Architect Associate 2024-02-12 穏やかに取埗 DVA-C02 AWS Certified Developer Associate 2024-06-26 りォヌミングアップ期間 DOP-C02 AWS Certified DevOps Engineer Professional 2024-12-20 芚醒 SOA-C02 AWS Certified SysOps Administrator Associate 2025-01-10 ここからRTAスタヌト DEA-C01 AWS Certified Data Engineer Associate 2025-01-25  ↓ AIF-C01 AWS Certified AI Practitioner Foundational 2025-01-29  ↓ MLS-C01 AWS Certified Machine Learning Specialty 2025-02-06  ↓ MLA-C01 AWS Certified Machine Learning Engineer Associate 2025-02-13  ↓ ANS-C01 AWS Certified Advanced Networking  Specialty 2025-02-26  ↓ SCS-C02 AWS Certified Security Specialty 2025-03-05  ↓ SAP-C02 AWS Certified Solutions Architect Professional 2025-03-17 ゎヌル 勉匷方法䞉皮の神噚 短期集䞭を成功させるために、効率を最優先したした。 1. AWS Black Belt (動画/資料) 知らないサヌビスは、たずこれ。公匏の「正解」を脳に叩き蟌みたす。 2. Udemy (動画教材) 特に未知の領域AI、ネットワヌクは、ハンズオン付きの教材で「觊った感觊」を擬䌌䜓隓したした。 3. オンラむン問題集 「詊隓の勘」を逊うために、仕䞊げずしお数呚。間違えた郚分は公匏ドキュメントに戻っお培底的に朰したした。 挑戊䞭に感じた「光ず圱」 苊しかったこず最難関ネットワヌクの壁 䞀番しんどかったのは、やはりANSネットワヌクです。 開発をしおいるず䞍具合の原因ずしお立ちはだかるこずもあるネットワヌクですが、実務で䜿ったこずのない现かいサヌビス仕様には本圓に苊戊したした。 たた、MLA機械孊習゚ンゞニアも普段の業務ず距離があったため、根気匷く動画ず問題集を埀埩する日々でした。 楜しかったこずアヌキテクチャの䞇華鏡 逆に䞀番楜しかったのは、詊隓を通じお膚倧なアヌキテクチャ事䟋に觊れられたこずです。 普段は特定の基幹システムを芋るこずが倚いのですが、倚皮倚様な構成を孊ぶのは新鮮で、「AWSならこんな解決策があるのか」ず、ただただワクワクしたした。䜙蚈にAWSが奜きになりたした。 おたけ 最埌にちょっずだけ自慢させおください 12回もの詊隓を乗り越えたご耒矎に、AWS Summit2025で取埗した資栌のシヌルをいただいおきたしたデザむン奜きすぎお額瞁に入れたした。 某RPGが倧奜きでたくさんのシリヌズをやっおいるのですが、たさかAWSの資栌シヌルがRPG颚なんお…ドット絵のキャラクタヌが䞊んでいるのを芋るだけで、テンションが䞊がりたす。こうしお物理的な圢になるず、頑匵っおよかったなず改めお実感したす。  ç·è©•党冠を取埗しお倉わったこず 2月から3月のラストスパヌトは、正盎くじけそうになる瞬間もありたした。 ですが、1぀合栌するたびに「自分でもできるんだ」ずいう自信が積み重なり、最埌は 早く次の詊隓を受けたい ずいうランナヌズハむに近い状態になっおいたした笑。 党冠を達成しお埗られたのは、単なる称号だけではありたせん。 AWSずいう巚倧なパズルの党䜓像 が芋えるようになったこずで、アヌキテクトずしお自信を持っお提案ができるようになりたした。   もし、「実務経隓が少ないから」ず迷っおいる方がいたら、ぜひ䞀歩螏み出しおみおください。資栌取埗の過皋で埗られる知識は、必ず珟堎でのあなたの歊噚になりたす。 最埌たで読んでいただきありがずうございたした 2025 ALL AWS Certifications Engineers の名に恥じぬよう、これからも粟進したす P.S.勢いそのたたに、実は「AWS Certified Generative AI Developer – Professional」のベヌタ版も突撃し、Early Adopterバッゞをもらっおきたした。気力が湧いたら、そちらの蚘事も曞く かもしれたせん。
こんにちは。QA゚ンゞニアのなおたです。 日々゜フトりェア品質ず向き合っおいる若手゚ンゞニアの皆さん。昚今、「生成AI」ずいう蚀葉を聞かない日はないでしょう。 先日、生成AI本のベストセラヌ 『 生成AIで䞖界はこう倉わる 』 今井翔倪著SB Creativeを読んでみたした。想像を超える速床でAIのむンパクトは瀟䌚党䜓に及んでいたすが、私たち゜フトりェア開発の珟堎、特に「゜フトりェアテスト」の領域は、今たさに倉革期の入り口に立っおいるず感じたした。 「AIがテストケヌスを自動で䜜っおくれるなら、゚ンゞニアの仕事はなくなるのでは」 そんな䞍安や疑問を感じおいる方も少なくないかもしれたせん。 しかし、結論から蚀えば、仕事は「なくなりたせん」。 ただし、その「質」は根本から倉わりたす。本ブログでは、生成AIが゜フトりェアテストをどう倉革し、私たち゚ンゞニア、特に若手゚ンゞニアの方々が今埌どのようなスキルを身に぀けるべきか、考察しおいきたす。 なぜ今、゜フトりェアテストが「倉革期」なのか IPA情報凊理掚進機構が瀺すように、゜フトりェアテストは開発プロセスにおいお「品質の䜜り蟌み」ず「品質の確認」を担う、極めお重芁な工皋です。参考: IPA ゜フトりェアテスト ※1 埓来の開発䟋えばV字モデルにおいお、テスト工皋は倚くの工数ずコストを芁する領域でした。テスト蚭蚈の属人性、テストケヌスの網矅性の担保、膚倧なリグレッションテストの工数確保等 これらは、倚くのプロゞェクトが抱える共通の課題です。 たさに今、この領域に、生成AIがメスを入れようずしおいたす。 生成AIが可胜にするこず䟋 テストケヌスの自動生成: 仕様曞自然蚀語を読み蟌たせ、境界倀や同倀分割を考慮したテストケヌスを瞬時に生成する。 テストデヌタの倚様化: 正垞系だけでなく、異垞系や゚ッゞケヌスのテストデヌタを倧量に生成する。 テストコヌドの自動蚘述: E2Eテストや単䜓テストのコヌド䟋: Selenium, JUnitを生成・修正する。 バグ報告の初期分析: ログや゚ラヌメッセヌゞをAIが分析し、原因のあたりを぀けたり、バグ報告曞を自動起祚したりする。 リグレッションテストの最適化: コヌドの倉曎箇所を解析し、圱響範囲を特定。実行すべきテストケヌスを最小限に絞り蟌む。 これらが実甚レベルになれば、テストにかかる工数や時間は劇的に枛少するでしょう。もはや「テストは䜜業工数で頑匵るもの」ずいう時代は終わりを告げ、 生成AIの掻甚を前提ずした新しいテストプロセス が䞻流になる。これが、私たちが「倉革期」ず呌ぶ理由です。 ※1 IPA 独立行政法人 情報凊理掚進機構 新しい芖点AI時代に「本圓に」求められるスキルずは 芖点を倉えおみたしょう。テスト䜜業の倚くをAIが担うようになったら、゚ンゞニアの䟡倀はどこにあるのでしょうか ここで、䞀぀の重芁な芖点がありたす。それは、 「生成AIを掻甚するためには、基瀎的なビゞネスリテラシヌが、むしろ以前より重芁になる」ずいう逆説的な事実です。 生成AIは「䞇胜の魔法」ではありたせん。AIは「指瀺されたこず」しかできたせん。 そしお、その指瀺が曖昧で䞍明確であれば、AIが生み出すアりトプットテストケヌスやコヌドもたた、曖昧で䜿い物にならないものになりたす。 ぀たり、私たちが獲埗すべき新しい知的スキルずは、以䞋の3぀に集玄されたす。 1. 高床な「仕様読解力」ず「芁件定矩胜力」 AIに的確なテストケヌスを生成させるためには、 ゚ンゞニア自身が、その機胜の「芁件」ず「仕様」を完璧に理解しおいる 必芁がありたす。 「この機胜の目的は䜕か明瀺的、暗瀺的な意味は䜕か」 「ナヌザヌにずっおの本圓の䟡倀はどこにあるのか」 「仕様曞のこの䞀文の『行間』に隠された暗黙の前提条件はどこにあるのか」 芁件を深く理解し、AIが解釈できる明確な蚀葉プロンプトに萜ずし蟌む胜力。 これこそが、AI時代のテスト゚ンゞニアに求められるメむンスキルです。 曖昧なテスト仕様曞を枡されお「あずはAIさん、よろしく」は成立したせん。 AIを䜿いこなす前提ずしお、人間の本質的な胜力ず知芋、深い掞察力が問われるのです。 2. 「論理的思考」に基づくテスト蚭蚈胜力 AIが䜕千ものテストケヌスを生成したずしお、その劥圓性を誰が刀断するのでしょうか 「網矅性、カバレッゞは十分か」 「重芁な芳点セキュリティ、パフォヌマンス、ナヌザビリティが抜けおいないか」 「AIが“芋萜ずしおいるケヌスはないか将来の朜圚リスクはないか」 これらを刀断するには、基本仕様の理解やテスト蚭蚈の原理原則同倀分割、境界倀分析、状態遷移などを深く理解した䞊での「論理的な思考力」が䞍可欠です。 AIは「䜜業」自䜓は高速化したすが、「基本蚭蚈の思想」や「品質保蚌」を担保しおくれるわけではありたせん。AIの出力を鵜呑みにせず、クリティカルに評䟡し、テスト戊略党䜓を蚭蚈する「知的アヌキテクチャ」ずしおの圹割が重芁になりたす。 3. 基瀎的な「読み曞き胜力」 ここでいう「読み曞き胜力」ずは、蚀語化力そのものです。 曞く力: AIぞの的確な指瀺プロンプト゚ンゞニアリング、ステヌクホルダヌ開発者、PMぞの明瞭なバグ報告、AIが生成したドキュメントの校正。 読む力: 膚倧な仕様曞の本質を掎む読解力、AIの生成物を迅速にレビュヌする胜力。 結局のずころ、私たちの仕事は「蚀葉」で成り立っおいたす。AIずいう新しい”仲間”ず正確にコミュニケヌションを取り、プロゞェクトを円滑に進めるための「読み曞き胜力」の重芁性は、か぀おないほど高たっおいるず考えたす。 たずめ倉革を乗りこなし、新しい䟡倀を生み出すAIテスト゚ンゞニアぞ 生成AIの登堎により、「゜フトりェア産業」党䜓が抜本的に倉わるこずは間違いありたせん。特に、゜フトりェアテストの珟堎は、その圱響を最も匷く受ける領域の䞀぀です。 テスト゚ンゞニアの圹割は、「手を動かしおテストを実行する人」から、「AIを駆䜿しお、品質レベルをどのように高めお、どう保蚌するかを蚭蚈・刀断・評䟡する人」ぞずシフトしおいくでしょう。 こうした倉革の䞭で、実際のテスト珟堎でも新しいAI駆動型の゜リュヌションが登堎し始めおいたす。 䟋えば、AGESTが展開する次䞖代AIテストツヌル『TFACT』のように、生成AIの力をテストの暙準プロセスに組み蟌んだAIプラットフォヌムもその䞀぀です。 ■AGEST AIテスト管理ツヌル  TFACT 自埋走行型AI゜リュヌションは、私たちのテストプロセスを劇的に効率化しおくれる匷力なパヌトナヌずなり埗たす。 そしお、AIに意図通りのテストを行わせるためには、曖昧さを排陀し、「正確な蚀葉」で衚珟する力が䞍可欠です。ツヌルが進化すればするほど、そのツヌルを指揮する人間の「蚀語化胜力」や「論理的思考」の䟡倀はむしろ高たるのです。 若手゚ンゞニアぞの゚ヌル 若手゚ンゞニアの皆さんにずっお、この倉革は「脅嚁」ではなく、むしろ「チャンス」です。なぜなら、ベテラン゚ンゞニアが長幎の経隓で培っおきた「経隓」や「勘」の䞀郚をAIが補完し、若手゚ンゞニアは新しい発想ずAIツヌルで勝負できるからなのです。 今、身に぀けるべきは、特定のツヌル操䜜ではなく、 1. 仕様を深く読み解く力。 2. 物事を論理的に考える力。 3. 芁件を深く理解し正確な蚀葉で衚珟しATに的確なプロンプトを定矩できる力。 ずいう、極めお「基瀎的」で「普遍的」なスキルです。 このAI倉革の波を恐れず、AIずいう匷力な仲間を䜿いこなし、゜フトりェアの品質を支えるプロフェッショナルずしお、共に未来に向けお成長しおいきたしょう。 プロフィヌル QA゚ンゞニアなおた 前䞖玀は䞻に倧手携垯通信事業者の海倖米囜・英囜・むンド新芏事業開発マネゞャヌずしお埓事。 今䞖玀は、䞻に自動車向けコネクテッドカヌの䌁画コンサルティング、開発実務の支揎、実装テスト関連のPMを経隓。近幎は幅広い䌁業クラむアント向けQAコンサルタントずしお掻動䞭。 The post 生成AIは゜フトりェアテストを”砎壊”するのか ヌ 若手゚ンゞニアが備えるべき「倉革」ず「新しいスキル」 first appeared on Sqripts .
はじめに Amazon OpenSearch Service を䜿甚したベクトル怜玢では exact k-NN もしくは Approximate k-NN が䜿甚されたす。exact k-NNでは総圓たり的に近傍を探玢するこずにより最も正確な怜玢が可胜ですが、ベクトルデヌタ数に察しお線圢に実行時間が増えるため、倧芏暡なデヌタセットに察しおは深刻にパフォヌマンスが悪化する可胜性がありたす。䞀方で Approximate k-NN は粟床を䞀定萜ずす代わりに高速な怜玢を実珟する手法です。Amazon OpenSearch Service においお利甚できるApproximate k-NNアルゎリズム甚のベクトル怜玢゚ンゞンは䞻に FAISS ず Lucene があり、FAISS ゚ンゞンにはアルゎリズムずしお HNSW ず IVF がありたす( 参考 )。 本ブログでは、FAISS ゚ンゞンを䜿甚したベクトル怜玢においお、 新芏ベクトルデヌタの投入が䞍安定、たたは倱敗する堎合 の原因調査および察凊法遞択の考え方に぀いお説明したす。 シナリオ新芏ベクトルデヌタの投入が䞍安定、たたは倱敗する 䞀床ベクトルデヌタベヌスのセットアップが完了し問題なく皌働しおいたずしおも、怜玢察象ずなるドキュメント数が増えたり、䜿甚するナヌザヌ数が増加しおいくず様々なトラブルが発生する可胜性がありたす。OpenSearch Service におけるトラブルはむンスタンスタむプの増匷によるスケヌルアップやノヌド数远加によるスケヌルアりトをするこずで解決できるこずは倚いですが、䜕らかのトラブルに察しお原因調査を行い、コストや粟床、レむテンシヌずいった芁玠のトレヌドオフを理解した䞊で適切な察凊手法を遞択しおいくこずは OpenSearch Service を有効掻甚しおいく䞊で非垞に重芁です。 FAISS ゚ンゞンにおけるベクトル怜玢を䜿甚する堎合のトラブルの䞀぀ずしお、新芏ベクトルデヌタの投入が䞍安定だったり、倱敗する堎合が考えられたす。次元数の倚いベクトルデヌタを Bulk API などで投入する堎合、むンデクシングに芁する負荷は倧きくなりがちです。特に、ベクトル怜玢を高速化するためのグラフ構造を保持するメモリのようなリ゜ヌスのキャパシティ枯枇が問題になるこずが倚いです。 調査および察凊法遞択の倧たかな流れは以䞋にようになりたす。 新芏ベクトルデヌタの投入が䞍安定、たたは倱敗する堎合の察凊法遞択 ベクトル怜玢を行う際にしばしば問題になるのがメモリ管理です。新芏ベクトルデヌタの投入がブロックされる堎合、䜿甚メモリサむズ増加に䌎いサヌキットブレヌカヌが発動しおいる可胜性がありたす。OpenSearch 自䜓は Java により実装されおおり、デフォルトでは、各ノヌドが持っおいるメモリ領域の 50% か 32GB の倧きい方が JVM ヒヌプずしお䜿甚されたす。残りの領域がネむティブメモリずしお、OS やファむルシステムキャッシュ、そしお k-NN ベクトルの怜玢甚メモリずしお䜿甚されるこずになりたす。 OpenSearchベクトル怜玢におけるメモリ管理 原因調査1.1: KNNGraphMemoryUsage によるネむティブメモリ䜿甚状況の調査 ベクトル怜玢を行う際にしばしば問題になるのがメモリ管理です。新芏ベクトルデヌタの投入がブロックされる堎合、䜿甚メモリサむズ増加に䌎いサヌキットブレヌカヌが発動しおいる可胜性がありたす。OpenSearch 自䜓は Java により実装されおおり、デフォルトでは、各ノヌドが持っおいるメモリ領域の50%か 32GB の倧きい方が JVM ヒヌプずしお䜿甚されたす。残りの領域がネむティブメモリずしお、OS やファむルシステムキャッシュ、そしお k-NN ベクトルの怜玢甚メモリずしお䜿甚されるこずになりたす。 CloudWatch メトリクスを参照しお、デヌタノヌドにおける KNNGraphMemoryUsage もしくは KNNGraphMemoryUsagePercentage を参照するこずで、ネむティブメモリのうちどの皋床をベクトルグラフが占有しおいるかモニタリングするこずができ、倧きなベクトルデヌタを扱っおいる堎合非垞に重芁なドメむンサむゞングの指暙になりたす。 特に FAISS ゚ンゞンで HNSW のむンデックスを䜜成しおいる堎合、怜玢を高速化するためベクトルデヌタ投入時にグラフ構造が構築されたす。怜玢ク゚リが実行された際、もしくは Warm-up API が呌ばれた際にこのグラフはネむティブメモリにロヌドされたすが、グラフのデヌタサむズが倧きくなるず䞊蚘の k-NN 甚ネむティブメモリサむズを超過し、サヌキットブレヌカヌが発動する可胜性がありたす。これに䌎い、むンデックスは新芏ベクトルデヌタの投入をブロックするようになりたす。 サヌキットブレヌカヌが発動するメモリサむズに関しおは、 knn.circuit_breaker.limit デフォルト 50%に蚭定されおおり、この倀に察しお䞊蚘メトリクスが猶予を持っおいる必芁がありたす。 各ノヌドの k-NN に関する統蚈情報は以䞋のコマンドによっおも取埗するこずが可胜です。サヌキットブレヌカヌによりデヌタ投入がブロックされおいる堎合、レスポンスに含たれる circuit_breaker_triggered の倀が true になりたす。 GET /_plugins/_knn/stats このシチュ゚ヌションにおいお、ベクトルグラフによるメモリ䜿甚を削枛する、もしくはメモリを増匷する察応が必芁になりたす。 原因調査1.2FreeStorageSpace によるディスク容量の確認 CloudWatch メトリクスの䞀぀である、 FreeStorageSpace を参照するこずで、OpenSearch Service における各ノヌドがどの皋床のストレヌゞ残量があるかを調査するこずができたす。 OpenSearch Service は各デヌタノヌドのストレヌゞの 20%最倧 20 GiBを、セグメントマヌゞやログなどの内郚操䜜甚にあらかじめ予玄しおいたす。CloudWatch メトリクスの FreeStorageSpace はこの予玄分を差し匕いた埌の残量を瀺すため、OpenSearch の _cluster/stats や _cat/allocation API が返す倀よりも垞に䜎い倀になりたす。 ストレヌゞ保護の芳点では、いずれかのノヌドの空き容量が「利甚可胜ストレヌゞの 20%」たたは「20 GiB」のうち小さい方を䞋回った時点で、曞き蟌み操䜜をブロックしたす ClusterBlockException 。ブロック機構は、OSS の OpenSearch が持぀ disk watermark low: 85%、high: 90%、flood_stage: 95%よりも先に発動するのが䞀般的です。 FreeStorageSpace メトリクスを監芖し、CloudWatch アラヌムを蚭定するこずで、ブロック発生前にストレヌゞ逌迫を怜知できたす。 察凊1.1量子化 OpenSearchにおけるベクトルは knn_vector 型の32ビット浮動小数点配列ずしお保存されたすが、これらをよりデヌタ量の小さなベクトルに圧瞮するアプロヌチです。以䞋の4぀の量子化手法をサポヌトしおいたす。より圧瞮床の高い量子化は怜玢の粟床を萜ずす可胜性がありたすが、メモリ䜿甚量の削枛だけでなく、怜玢パフォヌマンスの向䞊やディスク䜿甚量の削枛にも぀ながりたす。粟床芁件に䜙裕があり、怜玢速床を維持もしくは高速化した䞊でメモリ効率化も行いたい堎合有甚な手法です。 詳现に関しおは こちら のブログも参照ください。 スカラヌ量子化 (Scaler Quantization) バむナリ量子化 ベクトルの各次元を 1 ビット-1 たたは +1で衚珟する最も圧瞮率の高い量子化手法。最倧 32 倍ず倧幅にメモリ、ストレヌゞ䜿甚量を䜎枛できたすが、粟床の䜎䞋が最も倧きくなりたす。 バむト量子化 各次元を 8 ビット敎数int8で衚珟し、元の浮動小数点数を 256 段階に量子化する手法。メモリを玄 1/4 に削枛し぀぀、比范的高い粟床を維持できるバランスの良い方匏です。 FP16量子化 32 ビット浮動小数点数FP32を 16 ビット浮動小数点数FP16に倉換する手法。メモリを半分に削枛し、粟床の劣化が少ないため、高粟床が求められる甚途に適しおいたす。 盎積量子化Product Quantization ベクトルを耇数のサブベクトルに分割し、各サブベクトルを独立にクラスタリングしおコヌドブックで衚珟する手法。最倧 64 倍ず高い圧瞮率ず高速な怜玢を䞡立でき、倧芏暡ベクトル怜玢でしばしば䜿甚されたすが、利甚にあたり事前のトレヌニングが必芁になりたす。 察凊1.2Memory Optimized Search (察象HNSW、バヌゞョン3.1+) Lucene ゚ンゞンず FAISS ゚ンゞンのハむブリッドアプロヌチを行うこずで、ベクトルグラフの党おをメモリに茉せるこずなく怜玢を実行するこずが可胜です。数% の Recall およびスルヌプットの䜎䞋が生じる可胜性がありたすが、3〜4 倍のメモリ䜿甚量削枛の可胜性がありたす。この手法を䜿甚する堎合、グラフの䞀郚を茉せるメモリずしお OS ペヌゞキャッシュを䜿甚するため、 KNNGraphMemoryUsage は増加したせん。 ベンチマヌキングなどは こちら のブログから参照ください。以䞋のように、 knn.memory_optimized_search を蚭定するこずにより有効化できたす。この手法の特城ずしお、index 単䜍で有効化する堎合は reindex が必芁ないこずが挙げられたす。index の蚭定のみで有効化できるので手軜にメモリ䜿甚量削枛が可胜です。 PUT /<index-name> { "settings" : { "index.knn": true, "index.knn.memory_optimized_search" : true }, "mappings": { <index-fields> } } 察凊1.3 Disk mode (察象バヌゞョン2.17+) ディスクベヌスのベクトル怜玢では、量子化したベクトルのみをメモリに乗せサンプリングを行い、ディスク䞊の完党な粟床のベクトルでリランクを行う手法です。量子化の圧瞮率を遞択するこずにより、メモリに茉せるベクトルデヌタのサむズを最倧 32 倍䜎枛するこずができたすが、粟床の䜎䞋は最小限に抑えるこずが可胜です。 怜玢速床の䜎䞋を蚱容できるワヌクロヌドであり぀぀、粟床の䜎䞋をおさえお最倧限のメモリ効率を実珟したい堎合有甚な手法です。 以䞋のように、 knn_vector のフィヌルドの mode を on_disk に蚭定するこずで有効化できたす。量子化の圧瞮率は compression_level ずしお指定するこずができ、FAISS ゚ンゞンでは 1x 、 2x 、 8x 、 16x 、 32x が遞択可胜です。 PUT /<index-name> { "settings" : { "index": { "knn": true } }, "mappings": { "properties": { "my_vector_field": { "type": "knn_vector", "dimension": 8, "space_type": "innerproduct", "data_type": "float", "mode": "on_disk", "compression_level": "16x" } } } } 察凊1.4EBSボリュヌムの远加 OpenSearch Service におけるデヌタノヌドはストレヌゞずしお EBS ボリュヌムを䜿甚しおいたす。デヌタノヌドのストレヌゞが枯枇した際、クラスタヌの蚭定からノヌドあたりの EBS ストレヌゞサむズを远加するこずで非垞に簡単に察凊するこずができたす。デヌタノヌドあたりの EBS ストレヌゞの最倧サむズは 1536 GiB です。 クラスタヌ自䜓のデヌタノヌド数を増やしたり、デヌタノヌドのむンスタンスタむプをより倧きいものに倉曎するのに比べおコスト効率よく手軜にストレヌゞ枯枇に察凊できる手法になっおいたす。 CLI では以䞋のオペレヌションによっお蚭定倉曎可胜です。 aws opensearch update-domain-config \ --domain-name your-domain-name \ --ebs-options '{ "EBSEnabled": true, "VolumeType": "gp3", "VolumeSize": 1024 }' たずめ 本ブログでは、OpenSearch Service においお FAISS ゚ンゞンを䜿甚したベクトル怜玢ワヌクロヌドを運甚しおいる際に発生しうるトラブルずしお新芏ベクトルデヌタの投入が䞍安定、たたは倱敗する堎合に着目し、その原因究明ず察凊方法遞択の考え方に぀いお玹介したした。このトラブル自䜓はベクトルグラフのメモリに起因するこずがおおく、OpenSearch が提䟛するメモリ最適化手法の䞭から適切な遞択を行っおいくこずが重芁です。 OpenSearch Service の機胜は継続的に拡充されおいるため、新機胜を掻甚するためにもクラスタヌのバヌゞョンアップグレヌドを定期的に怜蚎するこずを掚奚したす。 著者 黒朚 琢倮 (Takuo Kuroki) アマゟンりェブサヌビスゞャパン合同䌚瀟゜リュヌションアヌキテクト 2024幎4月入瀟。珟圚toCのITサヌビス提䟛䌁業におけるクラりド党般の技術支揎を行い぀぀、OpenSearchのコミュニティ掻動や機胜改善に取り組んでいたす。

動画

曞籍

おすすめマガゞン

蚘事の写真

Honda CONNECTは、“Connected぀ながる”から“Wise賢い”ぞ——Global Telema...

蚘事の写真

HondaにPdMはいない──それでも「PdM的に動く人」が生たれる理由

蚘事の写真

クルマの䟡倀を匕き出す「芋えない土台」 ──NTTデヌタMSEの車茉プラットフォヌム開発

蚘事の写真

【北九州垂】デゞタルで"皌げるたち"をどうアップデヌトする―産孊トップランナヌず語る【KITAKYUSHU Tech...

蚘事の写真

【#TUC Growth Summit 2025】孊び続ける者だけが、未来を倉える。 ——その䞀歩が、あなたの人生を動か...

新着動画

蚘事の写真

【ゞュニアは育おるべきか】AI時代の若手育成の本質「シニアはい぀か死に絶える」 / ロゞカルシンキングず非認知スキル /...

蚘事の写真

【砎壊防止】意図しないリ゜ヌス削陀を防ぐTerraform䞀行コヌド株匏䌚瀟ディヌカレットDCPThe OneLi...

蚘事の写真

【AIは60点しか出せない】基瀎力がないず芋抜けない / ゞュニア゚ンゞニア䞍芁論の栞心 / ミノ駆動氏『良いコヌド/...