我们将把数据上传到 Weights & Biases,并使用 Embedding Projector 可视化嵌入,使用常见的降维算法,如 PCA、UMAP 和 t-SNE。数据集在 Get_embeddings_from_dataset Notebook 中创建。
我们将把数据上传到 Weights & Biases,并使用 Embedding Projector 可视化嵌入,使用常见的降维算法,如 PCA、UMAP 和 t-SNE。数据集在 Get_embeddings_from_dataset Notebook 中创建。
Weights & Biases 是一个机器学习平台,被 OpenAI 和其他 ML 团队使用,以更快地构建更好的模型。他们使用它来快速跟踪实验、评估模型性能、复现模型、可视化结果,并与同事分享发现。
我们使用原始数据和嵌入创建一个 W&B 表格。每条评论都是新的一行,1536 个嵌入浮点数被赋予它们自己的列,名为 emb_{i}
。
import pandas as pd
from sklearn.manifold import TSNE
import numpy as np
from ast import literal_eval
# Load the embeddings
datafile_path = "data/fine_food_reviews_with_embeddings_1k.csv"
df = pd.read_csv(datafile_path)
# Convert to a list of lists of floats
matrix = np.array(df.embedding.apply(literal_eval).to_list())
import wandb
original_cols = df.columns[1:-1].tolist()
embedding_cols = ['emb_'+str(idx) for idx in range(len(matrix[0]))]
table_cols = original_cols + embedding_cols
with wandb.init(project='openai_embeddings'):
table = wandb.Table(columns=table_cols)
for i, row in enumerate(df.to_dict(orient="records")):
original_data = [row[col_name] for col_name in original_cols]
embedding_data = matrix[i].tolist()
table.add_data(*(original_data + embedding_data))
wandb.log({'openai_embedding_table': table})
导航到 W&B 运行链接后,我们点击表格右上角的 ⚙️ 图标,并将“渲染为:”更改为“组合 2D 投影”。