import json import numpy as np from tqdm import tqdm INPUT_JSONL = "lenfiltered_fix_done_dupcleaned_data_turn_gpt_oss_20b_pretokenized.jsonl" lengths = [] print("🔍 開始讀取資料...") with open(INPUT_JSONL, "r", encoding="utf-8") as f: for line in tqdm(f): line = line.strip() if not line: continue data = json.loads(line) l = len(data["input_ids"]) lengths.append(l) lengths = np.array(lengths) print("\n📊 統計結果:") print(f"count: {len(lengths)}") print(f"mean: {lengths.mean():.2f}") print(f"min: {lengths.min()}") print(f"max: {lengths.max()}") print("\n📈 Percentiles:") for p in [50, 75, 90, 95, 98, 99, 99.5,99.9,99.99,99.999]: print(f"p{p}: {np.percentile(lengths, p):.0f}")