ビジネス・実用の高評価レビュー
-
Posted by ブクログ
ネタバレ一方的な語りでなく、クイズ込みの会話形式で飽きずに分かりやすかったです。以下は印象的だった部分を自分なりにメモしました。
- ブル相場 (Bull Market) :強気相場、ベア相場 (Bear Market) :弱気相場
- ストーリー投資する:会社の3年、10年後を想像する→売るのはストーリーが崩れたとき
- 日経新聞は投資家の必須アイテム:「〇期連続」「最高益」「黒字化」など、転換点を示す見出しを読む(一字一句を全て読まなくて良い):自分で何が重要なのか考えるため見出しからでなく後ろから読むのがオススメ
- 10倍株になる条件:売上高が過去20%以上、営業利益率が10%、上場から5年以内、時価総額1000億以下、雇われ社長でなくオーナー社長(オーナーが筆頭株主)
- 会社四季報は伏線が散りばめられている。気になる企業だけ読むのでなく、小説のように最初から最後まで読む。変化の兆しがわかる。
- 投資アイテム2つ:日経新聞と会社四季報(年に4回)
- ネガティブのコメントがある方が良い:過小評価されている可能性
- 口先だけのビジョンでなく、トップ(経営者)は数値で語らないといけない
- かいの不祥事(一時的な問題)、売りの不祥事(組織の構造的な問題)
- せっかちな人より、忍耐強い人。お金そのものを追いかけるより向こうからやってくるのを待つ。猫に学べ。
- アメリカがくしゃみをすると日本は風邪をひく
- 逆業績相場 ホームカントリーバイアス
- 遠くの戦争は買い、近くの戦争は売り
- 外国の経済指標もチェックすると良い(アメリカの雇用統計だけでも)アメリカは世界のGDPの4分の1を占めている
- TOBプレミアム:株式公開買付け(TOB)において、買収者が対象企業の株式を市場価格よりも高い価格で買い取る際の上乗せ金額(プレミアム)
- 金融系の映画:エディマーフィ「大逆転」、「ウォール街」、「マージンコール」(特にオススメ) -
Posted by ブクログ
ベクトル検索実践入門
著:真鍋 知博
出版社:技術評論社
LLMやRAGなどの内容から、ベクトル検索という言葉だけは知っていた。
「ベクトル検索」って何、の疑問に応えるために手に取ったのが本書です。
■ベクトル検索とはなにか
まず、キーワード検索と、ベクトル検索の違いはなに?
分かりやすいのは、「パソコン」をキーワードとして検索しても、「PC」は、ヒットしないのが、キーワード検索、「PC」が、ヒットするのが、ベクトル検索だ。ベクトル検索とは、意味を数値化してもっているので、その意味で、検索ができるのである。
次にベクトル。ベクトルとは、方向をもった大きさであるが、ここではそうではない。
言葉に割り当てられたいろいろな意味を数値に代えて、数字の列という形でもっているものをベクトルという。N行1列の行列のことをベクトルという
まず、言葉に、その特徴毎に、数値を振っていく。
入力する文章が長ければ長いほど、その個数は増えていく
あらかじめ言葉に、数値を振り分けたものを登録しておく。言葉1つにベクトルが1つになる。
そして、入力された言葉を解析して、それぞれの言葉を、ベクトルに置き換えている。
要素の数は、空間なら、x、y、zで3次元で、(0,0,0)のようなベクトルとなるが
言語モデル BERTは、384、である。つまり、384次元のベクトルを扱う
2つの言語の意味が近いかどうかは、2つのベクトルの距離できまる。
入力は1つだから、登録されている言語が、10個だったら、その距離をすべて総当たりで計算して、近いものを上から並べればいい。
原理は簡単だ。
■2つのベクトルの角度と距離を求める
2つのベクトルの評価をするには、同じ形をしていなければならない。そして計算としては、3つ
まず、
①ドット積=内積をもとめる
②コサイン類似度:内積が求まれば、2つのベクトルの角度が、コサインの形でもとまる。何度開いているかが分かるのだ。それに、コサイン類似度は、cosθだから、ー1~+1の間に収まる
③2つのベクトルの距離を、計算する.すべての要素の差分値を二乗して足し合わせ、平方根をとったものがユークリッド距離だ。
これによって、一番近いものから、順に検索結果として提示すればいい。
■コンピュータへの配慮
まず、扱っている数値は、ほぼ、浮動小数点になっているので、計算には時間がかかる、これを簡単な数値に直す 3.1415926… を、3.14 とする といった作業だ。これを 量子化という。
計算量を少なくするための工夫だ。
つぎに、似通っている言葉をクラスタというかたまりに集めて、その中の平均的なベクトルを計算して、そのクラスタの代表とする
これまでだと、20万語があったら、20万回計算しなければならなかった
クラスタを使えば、クラスタが100だったら、まず100回計算して、近いクラスタの中のものを、2000回計算すればいいので、飛躍的に計算回数が減る
(これを毎回やっているので、GPUはとてつもない性能が必要だ)
あらかじめ、クラスタ同志の代表ベクトルの距離は、計算できるので、それを、グラフという形で、もつことができる。さらに、計算がすくなくなる。
また、大数を扱わないように、標準化という手法を用いる。
・ベクトルの要素の平均が0、分散が1になるように、標準偏差を用いて計算をしておく。これによって巨大な数値を扱わなくて済むのである。
これによって、各ベクトルは、384次元の半径1の単一円の表面上にプロットされる。
まさに、線形代数、位相空間論、離散数学の組み合わせが、ベクトル検索なのである。
本書以外に参考になりそうな本をピックアップしてみました。これから読んでいく予定です。でも、ベクトル検索の専門書はあまりないです。
・VectorDB完全入門: Pythonで学ぶEmbedding・ベクトル検索・AI検索システム
・1時間でわかる LLMとRAGのしくみ: 非エンジニアでも読み切れる、ベクトル検索とLangChainの実践入門
・今日から始めるAI検索技術 Solrエンジニアのための最先端ガイド 技術の泉シリーズ
・ベクトルDB 実践設計・運用: RAGとハイブリッド検索からpgvector・評価・性能改善・セキュリティ・移行まで イラストで速攻理解IT上級
・実践!AI動画検索 RAGで実現する検索システム 技術の泉シリーズ
・LangChainとLangGraphによるRAG・AIエージェント[実践]入門
・AI・LLMの実務で使える ― RAG精度改善
・GitHub CI/CD実践ガイド――持続可能なソフトウェア開発を支えるGitHub Actionsの設計と運用
数学だと、線形代数学、ベクトル解析、位相空間 等が関連かと思います。
目次
はじめに
Ⅰ ベクトル検索の流れ
第1章 データの準備
1.1 ベクトル検索の流れ
1.2 最重要のステップ:ランキング
1.3 ランキングの機械学習
1.3.1 ベクトル検索のランキングモデル
1.3.2 キーワード検索のランキングモデル
1.3.3 両ランキングモデルの差分
1.4 ランク学習データセットの現状
1.4.1 特徴量ベクトルのデータセット
1.4.2 ドキュメントやクエリ自体のデータセット
1.5 Shopping Queries Datasetの紹介
1.5.1 製品のテーブルproducts
1.5.2 その他の情報のテーブル
1.6 前処理
1.6.1 事前知識
1.6.2 サンプルコードの入手
1.6.3 環境構築
1.6.4 前処理のサンプルコードの確認
1.6.5 read_jp_dataの解説
1.6.6 動作確認の解説
1.6.7 実行例
1.6.8 コードの実行
1.6.9 トラブルシューティング
第2章 基本的なベクトル化
2.1 ベクトル化モデルの選択
2.1.1 訓練データセットとその言語
2.1.2 推論速度
2.1.3 計算式
2.1.4 ベクトルの正規化と計算式間の関係
2.2 ベクトル化モデルの例
2.2.1 例のモデルの特徴
2.2.2 例のモデルの全体像
2.3 Sentence TransformersのMiniLM-L6の実行
2.3.1 例のモデルの読み込みとデフォルトの引数の定義
2.3.2 ベクトル化のコアな処理vectorize
2.3.3 ベクトル化したデータの保存と今後の読み込み
2.3.4 実行例
第3章 専用エンジンの紹介
3.1 ベクトルの最近傍探索
3.1.1 コサイン類似度の計算の定義
3.1.2 ランキング
3.1.3 実行例
3.1.4 ベクトルの最近傍探索
3.2 ANN検索の基本
3.2.1 スカラ量子化
3.2.2 次元削減
3.2.3 ハッシュベース
3.2.4 クラスタベース
3.2.5 グラフベース
3.3 ベクトル検索エンジンの選択
3.3.1 ANN-Benchmarks
3.3.2 Faiss
3.3.3 NGT・Vald
3.3.4 Lucene・Elasticsearch・OpenSearch・Solr
3.4 専用エンジンの例:Faiss
3.4.1 Faissインデックスの作成
3.4.2 実行例
3.4.3 トラブルシューティング:FaissのSegmentation Fault
3.5 キーワード検索エンジンの例:OpenSearch
3.5.1 サービスの起動
3.5.2 テスターの準備
3.5.3 インデックスの作成
3.5.4 ドキュメントの入力
3.5.5 クエリの入力
3.5.6 実行例
第4章 検索結果の評価
4.1 ランキングの評価
4.1.1 ソフトウェアテスト
4.1.2 オフラインテスト
4.1.3 負荷テスト
4.1.4 ライブテスト
4.2 nDCG
4.2.1 利得
4.2.2 累積
4.2.3 減損
4.2.4 正規化
4.3 nDCGの計算
4.3.1 ラベルがついたドキュメントのみの場合
4.3.2 ラベルからnDCGの利得への変換
4.3.3 nDCGの計算と表示
4.3.4 実行例
4.4 ラベルがついていないドキュメントを含む場合
4.4.1 Faissの出力の整形
4.4.2 ラベルを含むもとのデータとの結合
4.4.3 nDCGの計算と表示
4.4.4 Faissのインデックスの評価
4.4.5 実行例
4.5 レイテンシその他の評価尺度
4.5.1 レイテンシ
4.5.2 再現率
4.5.3 MRR
4.5.4 参考文献
Ⅱ 各ステップの高度化・高速化
第5章 高度なベクトル化
5.1 ベクトル検索とLLMとの関係
5.1.1 Transformer
5.1.2 GPT
5.2 BERT
5.2.1 トークナイザ
5.2.2 埋め込み
5.2.3 位置符号化
5.2.4 標準化
5.2.5 線形変換
5.2.6 注意とマルチヘッド注意
5.2.7 残差接続
5.2.8 全結合層
5.3 BERTの実装の例:LINEのDistilBERT
5.3.1 訓練データセットとその言語
5.3.2 例のモデルの全体像
5.3.3 事前学習
5.4 事前学習済みモデルのベクトル検索への応用
5.4.1 Two-Towerモデル
5.4.2 Single-Towerモデル
5.4.3 Two-Towerモデルの例:Sentence-BERT
5.4.4 LINEのDistilBERTでSentence-BERTを組む
5.5 ファインチューニング
5.5.1 パラメータ
5.5.2 訓練データとテストデータ
5.5.3 ファインチューニングの実行
5.5.4 損失関数
5.5.5 実行例
5.5.6 トラブルシューティング:Dockerのメモリ制限
5.5.7 評価
5.5.8 GPUの利用と訓練データの拡張
5.6 その他の有名な手法:SimCSE
5.6.1 教師ありSimCSE
5.6.2 教師なしSimCSE
第6章 高速なベクトル化
6.1 BERTをGPUで動かす
6.1.1 GPUの準備
6.1.2 NVIDIA製GPUとDocker Composeで動かす例
6.1.3 Apple Siliconで動かす例
6.1.4 トラブルシューティング:PyTorchのメモリ制限
6.2 LLMの量子化
6.2.1 NVIDIA A30 GPUの例
6.2.2 具体的な表現
6.2.3 浮動小数点数
6.3 半精度での推論
6.3.1 NVIDIA製GPUとDocker Composeで半精度推論する例
6.3.2 Apple Siliconで半精度推論する例
6.3.3 半精度での訓練
6.3.4 参考文献
6.4 さらなる低精度での推論
6.4.1 その他の表現
6.4.2 GPUによるサポート
6.4.3 ライブラリ
第7章 ベクトルの圧縮と高速な計算
7.1 LLMの量子化とベクトルの圧縮の関係
7.1.1 ベクトルとインデックスのサイズ
7.1.2 LLMの量子化によるベクトルの圧縮
7.1.3 実行例
7.2 ベクトルの圧縮と高速な計算の関係
7.2.1 ベクトルの読み込み
7.2.2 ベクトル間の計算
7.3 スカラ量子化
7.3.1 データの準備
7.3.2 Sentence Transformersにおける実装
7.3.3 Faissにおける実装
7.3.4 OpenSearchにおける実装
7.4 スカラ量子化を考慮したファインチューニング
第8章 次元削減やハッシュによる高速化
8.1 次元削減
8.1.1 特徴選択
8.1.2 主成分分析
8.1.3 ランダム写像
8.2 次元削減の例:ランダム回転
8.2.1 ランダム回転の定義
8.2.2 実行例
8.3 LSH
8.4 FaissにおけるLSHの実装
8.5 OpenSearchによるLSHの実装例
8.5.1 LSHの実装
8.5.2 OpenSearchの扱い
8.5.3 実行例
8.6 Learning to Hash
第9章 クラスタによる高速化 251
9.1 IVF
9.2 クラスタリング
9.3 FaissにおけるIVFの実装
9.3.1 IndexIVFFlatのインスタンス化
9.3.2 クラスタリングの実行
9.3.3 実行例
9.3.4 実行結果のまとめ
9.4 OpenSearchによるIVFの実装例
9.4.1 クラスタリングの実行
9.4.2 セントロイドの紐づけ
9.4.3 ドキュメントとクエリの整形と入力
9.4.4 実行例
9.5 直積量子化
第10章 グラフによる高速化
10.1 グラフとANN検索との関係
10.1.1 グラフ
10.1.2 HNSW
10.1.3 HNSWの実装
10.2 FaissにおけるHNSWの実装
10.2.1 HNSWの構築
10.2.2 実行例
10.2.3 実行結果のまとめ
10.3 OpenSearchにおけるHNSWの実装
10.3.1 HNSWの構築
10.3.2 クエリの整形と入力
10.3.3 実行例
Ⅲ 既存の検索にベクトル検索を統合するためのアイデア
第11章 既存のモデルへのベクトル検索の統合
11.1 特徴量の抽出
11.2 既存のモデルの例:GBDT
11.2.1 決定木
11.2.2 GBDT
11.2.3 GBDTの訓練
11.3 RRF
11.4 ベクトル間の類似度や距離を特徴量とする
第12章 ベクトル検索への既存の特徴量の統合
12.1 任意の特徴量をテキストにして入力する
12.1.1 Transformerへの複数のテキストの入力
12.1.2 Two-Towerモデルへのプレフィックスによる入力
12.1.3 単一のテキストへの整形
12.2 実装例
12.2.1 プレフィックスと単一のテキストへの整形の実装
12.2.2 ベクトル化と評価
12.2.3 最大シーケンス長
12.2.4 ファインチューニング
12.2.5 実行例
12.3 TabTransformerの事例
12.3.1 本書が想定するベクトル検索のモデルとの相違点
12.3.2 カテゴリカル特徴量と列埋め込み
12.3.3 ベクトルの結合
12.3.4 多層パーセプトロン
付録A 画像のベクトル検索
A.1 Fashion-MNIST:データセットの紹介
A.2 CLIP:ベクトル化モデルの紹介
A.2.1 訓練データセットとその言語
A.2.2 モデルの構造
A.2.3 Vision Transformer
A.2.4 ベクトル列からスコアへの変換
A.3 実装と評価
A.3.1 題材のデータセットの準備
A.3.2 例のモデルの準備
A.3.3 類似度の計算とランキング結果の評価
A.3.4 実際の処理と実行例
A.4 ファインチューニング
A.4.1 ファインチューニングの実行
A.4.2 実行例
あとがき
索引
著者プロファイル
ISBN:9784297153373
判型:B5変
ページ数:376ページ
定価:3200円(本体)
2026年01月20日 初版第1刷発行 -
Posted by ブクログ
この著者のエッセイは良く読むのであるが、この「大河の一滴 最終章」は30年前の「大河の一滴」よりも良かったよ、なにしろ書いた年齢が93歳の時なのだから、人間が練れてる。若い時書いた文章よりも老いて書いた文章の方が含蓄に富んでいるのは当たり前なのだが、置いても衰えない執筆活動がすごい。
この本の最後に,秋田でやった講演の内容が書いてあるのだが、時間がなくて1時間の講演の時の話だった。彼の普段の講演は3時間から4時間ないと十分話せないと追うのだからすごい。この講演でも喑秀なんて言葉が平安時代からどんな使われ方をして明治時代に夏目漱石や森鴎外がしばしば使っていた。そしてそのような言葉は世界の各地にあるというのだ。人間というものは明るく元気な状態からエネルギーを引き出しているだけじゃなく、辛くて哀しい状態の中からでもエネルギーを出してきたのだ。
オーディブルで聴いたのだが、内容にとても引き込まれた。紙の本を買って座右に置こうと思った。 -
Posted by ブクログ
バーバラ・ミント著の『考える技術・書く技術』の内容をかみ砕いて説明し、日本語文書に適した実践法としてまとめたビジネス・ライティングの入門書。読み手に伝えたいことをピラミッド構造として表現し、伝わりやすい表現として文章に落とし込む方法について説明されている。
どのように書くかの方法論もいくつか説明されているが、本書で一貫して述べられているのは「読み手の立場になって考える」という視点をもつべきだということである。ビジネス文書を書いて相手に伝えたいことがあるが、どう書いてよいかわからない...という状況がある。これは、そもそも相手の立場になって欲しい情報は何か?が明確でない状況に陥っているというのが、本書を読むことでよく理解でき、このような悩みをもつ人に勧めたい1冊である。 -
Posted by ブクログ
・今日生きていくために必要なエネルギーが「情報」明日のために普遍的に私たちの身体の一部となって私たちを助けてくれるのが「知識」
栄養と同じように、重要なのは「情報」と「知識」のバランス
もっと本を読みたくなる本。
・たくさん本を読める人は時間管理が上手な人。
【「15-45-90」の法則読書術】
高い集中が維持できる15分
一日15分だけでも読む。
【熟睡読書術】
睡眠には頭の中を整理する役割がある。
寝る前読書が良い
【脳内物質読書術】
アドレナリン
ノンアドレナリン
ドーパミン
エンドルフィン
【パラパラ読書術】
全体を把握して、本を読む目的を設定し、知りたい部分を先に読む
最初のインプットから7から10日以内に3、4回アウトプットする。 -
Posted by ブクログ
著者は「カラオケ評論家」だそうです。
「そんな人いるの?」と思った人こそ読むべき一冊
です。
どんなモノゴトでも「好き」が高じてその道の
専門家になれば、多くを語ることができます。
つまり評論家です。
ならば○○評論家として名乗ってしまえ、
というのが本書の要旨です。
当然、そこに需要があるのは分かりません。
しかし副業程度で行う分には生活に影響はない
はずです。
某テレビ番組でも「知らない世界」を語る人に
光が当たる瞬間があります。
そんな時が訪れなくても、好きなことにのめり
込むことができるのは幸せなことなのかも
しれないです。
あなたの「沼」を極めなさい。と背中を押して
くれる一冊です。 -
Posted by ブクログ
入籍の時に本籍とは何かを調べたのをきっかけとして、戸籍ってたまに気にすることがあるけど、実際どういうものか何も知らないなと思い読んだ。
戸籍の歴史を古代の律令制から明治、植民地統治、戦後、現代までたどる一冊。戸籍は単なる家族関係の証明ではなく、課税や徴兵、国民形成や治安維持のための制度だったことが分かる。また、戸籍は日本人であることを証明する一方、誰を日本人から除外するかを決める仕組みでもあった。北海道・沖縄・朝鮮・台湾の事例からは、戸籍が植民地支配や移動・国籍管理に使われ、今も継続して議論されている諸問題とのつながりも少し理解することができた。
これまでなんとなーく一度は疑問に思ったことがある内容が、ところどころわかりやすく記載されていて面白かった。