Rumah >Peranti teknologi >AI >Meneroka Model Embedding dengan Vertex AI
Embeddings vektor adalah asas kepada banyak aplikasi AI lanjutan, termasuk pencarian semantik dan pengesanan anomali. Artikel ini memberikan pemahaman asas tentang embeddings, memberi tumpuan kepada perwakilan ayat dan perwakilan vektor. Kami akan meneroka teknik praktikal seperti penyatuan min dan persamaan kosinus, menyelidiki seni bina pengekod dwi menggunakan Bert, dan memeriksa permohonan mereka dalam pengesanan anomali dengan vertex AI untuk tugas -tugas seperti pengesanan penipuan dan kesederhanaan kandungan. Ruang vektor. dan membuat keputusan. Jadual Kandungan
Memahami embeddings vertex
Embeddings vektor mewakili perkataan atau ayat dalam ruang yang ditetapkan. Kedekatan vektor ini menandakan persamaan; Vektor yang lebih dekat menunjukkan persamaan semantik yang lebih besar. Walaupun pada mulanya digunakan terutamanya dalam NLP, aplikasi mereka meliputi imej, video, audio, dan graf. Klip, model pembelajaran multimodal yang menonjol, menghasilkan kedua -dua imej dan teks embeddings.
Aplikasi utama embeddings vektor termasuk:
Pengubah silang berasaskan pengubah boleh membandingkan pertanyaan dengan semua maklumat, mengklasifikasikan kaitan. Walau bagaimanapun, ini perlahan. Pangkalan data vektor menawarkan alternatif yang lebih cepat dengan menyimpan embeddings dan menggunakan carian persamaan, walaupun ketepatan mungkin sedikit lebih rendah. Kod berikut menunjukkan min penyatuan embeddings token yang dihasilkan untuk membuat embeddings ayat:
model_name = "./models/bert-base-rased" tokenizer = bertenizer.from_pretrained (model_name) encoded_Input = tokenizer (ayat, padding = benar, truncation = true, return_tensors = 'pt') perhatian_mask = encoded_input ['perhatian_mask'] dengan obor.no_grad (): output = model (** encoded_input) perhatian_mask.unsqueze (-1) .expand (token_embeddings.size ()). float () sentence_embedding = obor.sum (token_embeddings * input_mask_expanded, 1) / torch.clamp (input_mask_expanded.sum (1) Sentene_embedding.flatten (). Tolist () Kod berikut melaksanakan persamaan dan visualisasi kosinus: <pre class="brush:php;toolbar:false"> def cosine_similarity_matrix (ciri): norms = np.linalg.norm (ciri, paksi = 1, keepdims = true) normalized_features = norma / norma np.round (persamaan_matrix, 4) kembali bulat_similarity_matrix def plot_similarity (label, ciri, putaran): sim = cosine_similarity_matrix (ciri) sns.set_theme (font_scale = 1.2) vmin = 0, vmax = 1, cmap = "ylorrd") g.set_xtickLabels (label, putaran = putaran) g.set_title ("persamaan tekstual semantik") mengembalikan mesej g = [ # teknologi "Saya lebih suka menggunakan MacBook untuk kerja." Malam? "," LeBron James adalah pemain bola keranjang yang luar biasa. "," Saya suka berlari maraton pada hujung minggu. ", # Perjalanan" Paris adalah sebuah bandar yang indah untuk dikunjungi. " siri. ",] embeddings = [] untuk t dalam mesej: EMB = get_sentence_embedding (t) embeddings.append (EMB) plot_similarity (Mesej, Embeddings, 90) Hasilnya mungkin menunjukkan persamaan yang tidak disangka -sangka, memotivasi penerokaan kaedah yang lebih tepat seperti pengekod dwi.
Atas ialah kandungan terperinci Meneroka Model Embedding dengan Vertex AI. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!