# webpagesScreen **Repository Path**: Tinrry/webpages-screen ## Basic Information - **Project Name**: webpagesScreen - **Description**: 基于关键字网页质量评价 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-05 - **Last Updated**: 2025-08-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 运行环境 conda:base # 按照分数进行分类 1. 将A40的输入文件传到tc6001 - 完成 2. tc6001小文件删除 - 完成 3. 运行剩余的未处理文件 - 完成调试 4. 将tc6001的数据传回A40 - 已完成 dclm 各个子文件.jsonl.gz基本都是200M左右, 也有例外: 源文件大小: 90M Aug 31 14:48 shard_00000002_processed.jsonl.gz # 关键字匹配与评分系统说明 https://gitee.com/Tinrry/webpages-screen ## 输入格式 - 数据集为 `.jsonl` 格式,每行是一个 JSON 对象。 - 每个 JSON 中包含一个字段(如 `"text"`),用于进行关键字匹配。 - fineweb是parquet的格式。 - DCLM是jsonl格式 ## 策略选择 ### 基础策略:加权计数法(Weighted Counting) #### version 0.1 1)。 - 同一类中的多个匹配只加一次。 - 不同类之间每匹配一类就加分(可以加固定分或按类别加权)。 #### version 0.2 - 每个类别有基础权重和衰减权重(base_weight, exponential_weight) - 方法见PPT ## 结果分析 数据件reports文件夹 ## 可扩展性 - 支持模糊匹配(例如近义词、缩写识别)。 - 关键词加权(某些词比其他更重要)。 ## 在曙光 TC6001 上提交 Fineweb Job 运行方法 1. 拷贝 `srun_jobs.sh` 到 `/public/home/zhenghuanhuan/datasets/FineWeb/CC-MAIN-2013-20.sh`。 2. 查看空闲分区,运行 `sinfo`,并修改 `#SBATCH --partition=debug`。 3. 修改 `CC-MAIN-2013-20.sh` 中对应的处理目录,原数据目录位于 `/public/home/testflw/public/datasets/FineWeb/`。 4. 以一个目录为单位,运行 sbatch 的 Job:`sbatch CC-MAIN-2013-20.sh`。 5. 查看作业状态:`squeue`。 ## 备注 ### 五月运行记录 富律文的Fineweb数据库地址"/public/home/testflw/public/datasets/FineWeb/" 现阶段使用base_directory = "/public/home/testflw/llm/dataset/fineweb/fineweb/data" CC-MAIN-2024-22 CC-MAIN-2024-30 CC-MAIN-2024-38 CC-MAIN-2024-46 CC-MAIN-2024-26 CC-MAIN-2024-33 CC-MAIN-2024-42 CC-MAIN-2024-51 # log 1. 日期:7.14 重新改写了dclm_filter文件,但是还没有测试,需要测试代码是否是对的,先用小的测试样例试一下,可以了再跑全量。 2. 日期:7.15 重新改写了fineweb_filter文件,是否需要写测试用例,然后进行测试。 3. 日期:7.15 完成dclm_filter.py功能测试 4. 日期:7.22 补充从tc6001同步输入数据,输出数据的功能 5. 日期:7.23 补充提交DCLM作业脚本的功能 6. 日期:7.24 完成提交DCLM作业脚本的功能, 在tc6001上进行网页质量评分 # todo list - 针对曙光机器提交作业的特点,写一个提交作业的class 已完成 - 添加 reports/dclm/ai_assistant.ipynb文件 利用AI助手查看筛选的网页的内容。 已完成 # evaluation ## Fineweb ### 人工查看网页评分的质量 1. 在reports/fineweb文件夹下存放高质量,中等质量,低质量的网页的内容。 0.0_0.0_20_scores.jsonl: 低质量网页,与电池不相关,分数为0 0.0001_0.1_20_scores.jsonl:中等质量网页,随机抽取分数为0.0001-0.1之间的20个网页。 0.1_0.2_20_scores.jsonl :较好质量网页,随机抽取分数为0.1-0.2之间的20个网页。 2. top_10分数最高的网页数据有单独的评估报告: 网页数据为:top_10_scores.jsonl 评估报告为: Assessment_top_10_scores.docx top_10_check.jsonl 3. 如果想看高质量,中等质量,低质量的网页的内容。使用read_jsonl.ipynb 查看对应的网页和质量评分 4. fineweb网页质量分数分布 grouped_by_normalized_score.numbers grouped_by_normalized_score.xlsx # test part "normalized_score":0.1243358232,"match_groups":["core_concepts","electrod(e|es|ing)_materials","failure_mechanisms"],"match_keywords":["batter(y|ies)","conversion|alloying materials","overcharge" I think there may be an issue in the code at some point ## 解决方法 在本地重新运行filter,确定问题。 --- ## 在tc6001上进行DCLM质量评分的运行步骤 因为DCLM网页数据很大40T,所以在外部存储盘,在tc6001上无法访问,需要同步需要处理的文件,处理完成后,再同步回远程数据库,减少tc6001上面的硬盘存储。 1. 查看test_downloader.py同步需要筛选的文件。 2. 运行代码 ``` sbatch dclm_job.sh /public/home/zhenghuanhuan/datasets/llm/dclm-baseline-1.0/global-shard_01_of_10/local-shard_{i}_of_10 /public/home/zhenghuanhuan/datasets/llm/dclm-baseline-1.0-filtered/global-shard_01_of_10/local-shard_{i}_of_10 ``` 3. 将处理的结果,传输回原始的硬盘上,删除tc6001上面的数据。 test_uploader.py # 运行结果记录 ### Date:7.24 1. 当前 在同步'global-shard_01_of_10/local-shard_9_of_10'的数据下载到tc6001 - 已完成 2. 当前在进行质量筛选的文件是'global-shard_01_of_10/local-shard_5_of_10' - 已运行21小时,未完成,记录一个文件夹运行的时间,大概是6 days, 7月30日查看。 ### Date:7.25 1. 回传数据 2. 质量筛选 3. 下载新的数据 ### date:7.26 1. 确认数据同步回nas, 将tc6001上的数据删除 2. 回传数据 2. 质量筛选 3. 下载新的数据 下载在tc6001, 全部正在运行中。 运行[global-shard_01_of_10 , 除了5,都完成了][,global-shard_02_of_10] [global-shard_03_of_10/local-shard_所有_of_10] [global-shard_04_of_10/local-shard_0_of_10] [global-shard_05_of_10/local-shard_0_of_10] [global-shard_06_of_10/local-shard_0_of_10] [global-shard_07_of_10/local-shard_0_of_10] [global-shard_08_of_10/local-shard_0_of_10] [global-shard_09_of_10/local-shard_0_of_10] [global-shard_10_of_10/local-shard_0_of_10] [global-shard_04_of_10/local-shard_1_of_10] [global-shard_05_of_10/local-shard_1_of_10] [global-shard_06_of_10/local-shard_1_of_10] [global-shard_07_of_10/local-shard_1_of_10] [global-shard_08_of_10/local-shard_1_of_10] [global-shard_09_of_10/local-shard_1_of_10] [global-shard_10_of_10/local-shard_{1,2,3,4,5,6,7,8,9}_of_10] 回传: 1. 整个目录增量回传。 2. 3. 及时判断完整的文件夹,删除tc6001上的数据。并记录 # 确定运行完毕的文件,并把文件及时传回A40,释放tc6001的硬盘存储 当前[global-shard_01_of_10] *jsonl.gz和jsonl的压缩比为1:3 ![ ](image.png) - 在A40上进行分数过滤,使用filter_data_combine.py脚本。 - 暂时先不删除tc6001上的filtered的数据集,可能后面需要根据分数进行二次过滤,直接使用filtered的数据集就可以。把原始的DCLM删除。 # todo