FAISS - BlackAlph4ndr01D/Daftar-Militer-AI-zionis-israel-part.2 GitHub Wiki
FAISS (Facebook AI Similarity Search)
- FAISS adalah otot pencarian di balik NameTag.
- Ia yang membuat kacamata Meta bisa mengenali wajah orang dengan cepat.
- Teknologi ini sangat powerful untuk surveillance, dan itulah mengapa NameTag berpotensi menjadi ancaman serius bagi aktivis dan warga Palestina.
FAISS adalah library open-source dari Meta (Facebook) yang digunakan untuk pencarian similarity vector super cepat pada skala besar. Ini adalah mesin utama di balik NameTag di Meta Glasses.
Apa Itu FAISS?
FAISS adalah library untuk Approximate Nearest Neighbor (ANN) Search.
Artinya: ketika kamu punya jutaan atau miliaran vektor (embedding wajah), FAISS bisa mencari vektor yang paling mirip dengan sangat cepat.
Mengapa FAISS Penting untuk NameTag?
NameTag bekerja dengan cara:
- Kamera mengambil wajah → diubah jadi embedding vector (misalnya 512 dimensi).
- Vektor tersebut harus dicocokkan dengan database jutaan wajah di kontak Meta kamu.
- FAISS-lah yang melakukan pencarian itu dalam milidetik.
Tanpa FAISS, NameTag akan terlalu lambat untuk digunakan di kacamata.
Cara Kerja FAISS (Teknis)
| Komponen | Penjelasan |
|---|---|
| Index | Struktur data yang menyimpan semua embedding vector |
| Quantization | Mengompresi vektor agar lebih hemat memori (PQ - Product Quantization, IVFPQ, dll) |
| Clustering | Membagi database menjadi beberapa cluster (Inverted File Index) |
| Search Method | Menggunakan Cosine Similarity atau Euclidean Distance |
| Speed Optimization | Menggunakan GPU/CPU parallelism + GPU support |
Jenis Index yang Biasa Dipakai di NameTag:
- IVFPQ (Inverted File + Product Quantization) → paling populer untuk balance antara kecepatan dan akurasi.
- HNSW (Hierarchical Navigable Small World) → untuk pencarian yang lebih akurat tapi lebih berat.
Kelebihan FAISS
- Sangat cepat (bisa jutaan query per detik di GPU).
- Hemat memori setelah dikuantisasi.
- Support GPU (CUDA) → cocok untuk on-device + cloud hybrid.
- Skalabel hingga miliaran vektor.
Kelemahan FAISS (No Sugar Coating)
- Trade-off Akurasi vs Kecepatan: Semakin cepat, semakin banyak false positive (salah mengenali wajah).
- Rentan terhadap Adversarial Attack: Pola wajah tertentu bisa mengelabui sistem.
- Bias Warisan: Karena dilatih dengan data Meta yang bias (lebih banyak data kulit terang, kurang representasi Timur Tengah), akurasi pengenalan wajah Palestina/Arab bisa lebih rendah atau lebih error-prone.
Hubungan dengan Surveillance Palestina
FAISS memungkinkan NameTag melakukan pencarian wajah real-time di kerumunan. Ini sangat berguna untuk:
- Pemukim Zionis yang memakai Meta Glasses di Tepi Barat.
- Intelijen Israel yang mengakses data Meta.
- Profiling massal aktivis pro-Palestina.
Penjelasan Detail: Product Quantization (PQ) di FAISS
Product Quantization adalah salah satu teknik kompresi vektor paling penting di FAISS. Tujuannya adalah mengurangi penggunaan memori dan mempercepat pencarian similarity pada database vektor yang sangat besar (seperti database wajah di NameTag).
Mengapa Product Quantization Diperlukan?
Embedding vector dari wajah biasanya memiliki dimensi tinggi (256D sampai 512D). Menyimpan jutaan vektor seperti ini akan memakan memori sangat besar dan pencarian menjadi lambat.
PQ menyelesaikan masalah ini dengan mengompresi vektor tanpa mengorbankan terlalu banyak akurasi.
Cara Kerja Product Quantization (Step by Step)
-
Splitting Vector
Vektor asli (misalnya 512 dimensi) dibagi menjadi beberapa sub-vector kecil.
Contoh: 512D → dibagi menjadi 8 sub-vector, masing-masing 64 dimensi. -
Clustering per Sub-Vector
Untuk setiap sub-vector, FAISS membuat codebook (kumpulan centroid) menggunakan algoritma K-Means.
Misalnya: setiap sub-vector diwakili oleh 256 centroid (8-bit). -
Quantization (Penggantian)
Setiap sub-vector diganti dengan indeks centroid terdekat di codebook-nya.
Jadi, bukan menyimpan nilai asli 64 dimensi, tapi hanya 1 angka (indeks 0–255). -
Representasi Akhir
Satu vektor 512D yang aslinya butuh ~2KB memori, setelah PQ bisa dikompresi menjadi hanya ~8–32 byte.
Jenis Product Quantization yang Umum di FAISS
| Tipe | Keterangan | Trade-off |
|---|---|---|
| PQ | Product Quantization murni | Cepat, kompresi tinggi |
| IVFPQ | Inverted File + PQ (paling populer) | Paling balance (kecepatan & akurasi) |
| OPQ | Optimized PQ (rotasi vektor dulu) | Akurasi lebih baik |
| RQ | Residual Quantization | Kompresi ekstrem |
Kelebihan PQ
- Hemat memori hingga 10–30x.
- Pencarian sangat cepat (cocok untuk real-time di Meta Glasses).
- Bisa dijalankan di GPU untuk kecepatan lebih tinggi.
Kelemahan PQ (No Sugar Coating)
- Hilangnya Akurasi: Karena kompresi, ada error (approximation error). Semakin tinggi kompresi, semakin banyak kesalahan pengenalan wajah.
- Bias Amplifikasi: Kalau data training sudah bias (misalnya kurang representasi wajah Arab/Palestina), kesalahan pencocokan akan semakin parah setelah dikuantisasi.
- Sulit di-debug: Karena data sudah dikompresi, sulit mengetahui kenapa sistem salah mengenali seseorang.
Hubungan dengan NameTag
Di NameTag, FAISS dengan PQ memungkinkan kacamata mengenali wajah dari database ribuan atau puluhan ribu kontak dalam milidetik, meski komputasi di kacamata sangat terbatas.
Kesimpulan Singkat:
Product Quantization adalah senjata rahasia FAISS yang membuat NameTag bisa berjalan cepat di perangkat kecil. Ia mengorbankan sedikit akurasi demi kecepatan dan efisiensi memori — yang sangat cocok untuk surveillance real-time.
Next (misalnya IVFPQ) lebih detail, atau bagaimana cara menyerang/mengganggu PQ ?