Una práctica de codificación en FineWeb para transmisión, filtrado, deduplicación, tokenización y análisis de corpus web a gran escala
df[“domain”] = gl[“url”].apply(lambda u: urlparse(u).netloc.replace(“www.”, “”) si isinstance(u, str) else “?”) top_domains = df[“domain”].value_counts().head(15) print(“\n— 15 dominios principales en la muestra —“) print(top_domains) fig, axes = plt.subplots(2, 2, figsize=(14, 10)) axes[0, 0].hist(df[“token_count”].clip(superior=4000), bins=50, color=”#7b2d26″) ejes[0, 0].set_title(“Recuento de tokens por documento (gpt2)”) ejes[0, 0].set_xlabel(“fichas”); ejes[0, 0].set_ylabel(“docs”) ejes[0, 1].hist(df[“language_score”]bins=40, color=”#2d5d7b”) ejes[0, 1].axvline(0.65, color=”red”, ls=”–“, label=”FineWeb cutoff 0.65”) ejes[0, 1].set_title(“puntuación de idioma inglés fastText”) ejes[0, 1].set_xlabel(“puntuación”); ejes[0, 1].legend() ejes[1, 0].hist(df[“chars_per_token”].clip(superior=8), bins=40, color=”#3f7b2d”) ejes[1, 0].set_title(“Caracteres por token (compresión)”) ejes[1, 0].set_xlabel(“caracteres/token”) top_domains.iloc[::-1].plot(kind=”barh”, ax=ejes[1, 1]color=”#7b5d2d”) ejes[1, 1].set_title(“Dominios principales”) plt.tight_layout() plt.show() print(“\n” + “=” * 70) print(“RESUMEN”) print(“=” * 70) print(f”Documentos transmitidos: {len(df):,}”) print(f”Total de tokens gpt2: {df[‘token_count’].sum():,}”) print(f”Tokens medianos/doc: {int(df[‘token_count’].median())}”) print(f”Dominios únicos: {df[‘domain’].nunique():,}”) print(f”Puntuación_lengua media: {df[‘language_score’].mean():.3f}”) print(f”Pares casi duplicados: {len(dup_pairs)}”) print(f”Documentos marcados por filtros: {(pd.Series(resultados) != ‘kept’).sum()} / {len(resultados)}”) print(“\nPróximos pasos:”) print(” • Intercambie name=”sample-10BT” para un rastreo real, por ejemplo name=”CC-MAIN-2024-10″”) print(” • Aumente N_DOCS para obtener estadísticas más sólidas”) print(” • Utilice el canal de datos completo para reproducir FineWeb de un extremo a otro”)