Quay lại blog

Các proxy cho việc huấn luyện LLM: Xây dựng một pipeline thu thập dữ liệu web có khả năng truy vết

James Thompson
James Thompson

Scraping and Proxy Management Expert

10-Oct-2026

Tóm tắt ngắn gọn:

  • Proxy định tuyến các yêu cầu thu thập; chúng không khiến một tập hợp văn bản trở nên phù hợp để huấn luyện. Quyền từ nguồn, chất lượng văn bản, và thành phần bộ dữ liệu cần được kiểm tra riêng.
  • Đo lường số tài liệu duy nhất được chấp nhận thay vì số yêu cầu hoàn tất. Trang thử thách, bản trùng lặp, và tài liệu không phù hợp tiêu tốn tài nguyên mà không tăng độ bao phủ hữu ích cho corpus.
  • Vùng địa lý được yêu cầu là ngữ cảnh thu thập, không phải nhãn ngôn ngữ. Kiểm tra tài liệu trả về trước khi gán ngôn ngữ hoặc ý nghĩa vùng miền cho nó.
  • Giữ lại bằng chứng về nguồn và lý do loại bỏ trong suốt pipeline. Hash nội dung nên hỗ trợ truy vết thay vì xóa bỏ nguồn gốc của tài liệu trùng lặp.

Một bộ thu thập corpus có thể lấy về một lượng lớn HTML nhưng bổ sung rất ít văn bản huấn luyện hữu ích. Điều hướng, bài viết trùng lặp, tài liệu lỗi, và nội dung nằm ngoài kế hoạch nguồn đã được phê duyệt đều góp phần tạo ra thêm byte.

Proxy dùng cho huấn luyện LLM thuộc về bên trong hệ thống thu thập đó. Chúng cung cấp tuyến mạng cho client hiện có của bạn. Client và pipeline phía sau vẫn phải xác định nguồn được yêu cầu, trích xuất phần văn bản dự định, và quyết định liệu tài liệu có thể đi vào bộ dữ liệu đã lên kế hoạch hay không.

Hướng dẫn này xây dựng một quy trình làm việc có thể truy vết xung quanh Scrapeless Proxies. Nó tách riêng phần thu thập phụ thuộc tài khoản khỏi phần xử lý mang tính quyết định, rồi minh họa bước kiểm tra loại bỏ trùng lặp cục bộ trên các bản ghi minh họa đã được gán nhãn. Hướng dẫn này không tuyên bố đo được tỷ lệ thành công proxy trực tiếp hay tạo ra một corpus sẵn sàng để huấn luyện.

Tổng quan Pipeline

Pipeline chuyển từ một kế hoạch nguồn đã phê duyệt đến một bản phát hành bộ dữ liệu có phiên bản. Mỗi giai đoạn ghi lại đủ bằng chứng để giai đoạn tiếp theo có thể diễn giải đầu ra của nó.

Giai đoạn Đầu vào Đầu ra Quyết định chấp nhận
Lập kế hoạch nguồn Mục đích sử dụng mô hình và các nguồn ứng viên Bản kê nguồn đã phê duyệt Đã xem xét thu thập và sử dụng
Định tuyến Nguồn và ngữ cảnh yêu cầu Đường đi proxy đã cấu hình Tuyến cần thiết khả dụng
Thu nhận URL được phép Phản hồi thô và bản ghi thu thập Lấy được trang dự định
Trích xuất Trang được chấp nhận Văn bản chính và trường nguồn Giữ lại nội dung cần thiết
Giám tuyển Bản ghi đã trích xuất Tài liệu duy nhất, đã phân loại Vượt qua chính sách chất lượng và trùng lặp
Phát hành Bản ghi đã giám tuyển đủ điều kiện Bản kê bộ dữ liệu Ghi lại cách dùng, nguồn gốc và loại trừ

Giữ cho ranh giới được nhìn thấy rõ. Một trang có thể vượt qua kiểm tra nội dung nhưng vẫn không đủ điều kiện cho mục đích huấn luyện đã định. Lưu các trạng thái đó một cách tách biệt để thành công khi thu thập không trở thành một quyết định cấp phép sử dụng.

Giai đoạn 1: Định nghĩa Nguồn, Ngôn ngữ, và Mục đích Sử dụng

Một bản kê nguồn mô tả những gì bộ thu thập được phép yêu cầu và những gì bộ dữ liệu dự định chứa. Hãy tạo nó trước khi chọn phân bổ proxy.

Ghi lại chủ sở hữu nguồn, phạm vi URL, loại tài liệu, khoảng thời gian thu thập, khối lượng được phép, bằng chứng về quyền sử dụng, và mục đích sử dụng. Bao gồm cả những nội dung loại trừ về thông tin cá nhân hoặc các lớp nội dung mà dự án không cần.

Khung tài liệu hóa bộ dữ liệu giúp tổ chức các câu hỏi về động cơ, thành phần, cách thu thập, và mục đích sử dụng của một bộ dữ liệu. Hãy dùng kỷ luật đó để việc lựa chọn nguồn có thể được xem xét lại, thay vì coi một danh sách crawl là một kế hoạch bộ dữ liệu hoàn chỉnh.

Định nghĩa mục tiêu ngôn ngữ độc lập với vùng địa lý của proxy. Một trang web có thể xuất bản nhiều ngôn ngữ trên cùng một host, phục vụ phần điều hướng đã dịch xung quanh một bài viết chưa được dịch, hoặc thay đổi nội dung theo phiên làm việc. Vùng thoát được yêu cầu là một quan sát về quá trình thu thập, không phải bằng chứng về ngôn ngữ của tài liệu.

Giai đoạn 2: Chọn Tuyến Proxy cho Mỗi Nguồn

Scrapeless Proxy Solutions cung cấp lớp định tuyến cho client thu thập riêng của bạn. Hãy chọn gói sản phẩm và endpoint đã được phân bổ sao cho phù hợp với tập mục tiêu được phép.

So sánh xem tuyến đó có tới được nguồn hay không, có giữ được tính liên tục phiên cần thiết, và có trả về đúng phiên bản dự định không. Một danh mục proxy tự thân không chứng minh được bất kỳ kết quả nào trong số đó. Hãy kiểm thử cấu hình tài khoản thực tế trước khi mở rộng khối lượng công việc.

Sử dụng phần xác thực proxy và cấu hình endpoint tương ứng với định dạng thông tin xác thực hiện tại. Giữ đầy đủ tên người dùng gắn với kênh đã được phân bổ thay vì tự suy đoán phần thể hiện loại proxy. Vị trí cổng vào và vùng địa lý mục tiêu được yêu cầu là hai thiết lập riêng biệt.

Đối với quyết định triển khai xung quanh bộ thu thập của bạn, phần so sánh VPS và proxy giải thích cách dịch vụ lưu trữ tính toán và định tuyến mạng đóng những vai trò khác nhau.

Giai đoạn 3: Ghi lại Trang Thô và Ngữ cảnh Thu nhận

Một bản ghi thô lưu lại những gì khách hàng thực sự nhận được qua tuyến đường đã chọn. Hãy lưu giữ nó trước khi trích xuất văn bản hoặc loại bỏ các tài liệu bị từ chối theo chính sách lưu trữ của dự án.

Yêu cầu sau đây cần Python, requests, một endpoint proxy Scrapeless đã được cấp, và thông tin xác thực kênh hợp lệ. Đặt tên người dùng proxy đầy đủ từ cấu hình tài khoản của bạn, bao gồm tùy chọn vị trí hoặc phiên đã được phê duyệt khi cần. TARGET_URL phải thuộc về bản kê nguồn được cho phép.

Lưu ý: Yêu cầu proxy này cần thông tin xác thực đã được cấp thực tế và một đích được ủy quyền. Cấu hình của nó đã được kiểm tra so với tài liệu proxy hiện hành; ở đây không khẳng định có ghi thô proxy trực tiếp hoặc kết quả theo vùng.

python Copy
import json
import os
from datetime import datetime, timezone
from pathlib import Path
from urllib.parse import quote
import requests

target = os.environ["TARGET_URL"]
gateway = os.environ["SCRAPELESS_PROXY_GATEWAY"]
user = quote(os.environ["SCRAPELESS_PROXY_USER"], safe="")
password = quote(os.environ["SCRAPELESS_PROXY_PASSWORD"], safe="")
proxy_url = f"http://{user}:{password}@{gateway}"
response = requests.get(
    target, proxies={"http": proxy_url, "https": proxy_url},
    timeout=60, allow_redirects=True
)
response.raise_for_status()
Path("source.html").write_bytes(response.content)
record = {
    "requested_url": target,
    "final_url": response.url,
    "captured_at": datetime.now(timezone.utc).isoformat(),
    "http_status": response.status_code,
    "body_bytes": len(response.content),
    "content_type": response.headers.get("content-type"),
    "training_use_approved": False
}
Path("capture.json").write_text(json.dumps(record), encoding="utf-8")
print(json.dumps({"saved": "source.html", "body_bytes": len(response.content)}))

Bản ghi có chủ đích không lưu lại thông tin xác thực của proxy. Cờ sử dụng cho huấn luyện vẫn là false cho đến khi phần rà soát của dự án cung cấp bằng chứng cần thiết. Số byte thân tải xuống không giống với tổng lưu lượng bị tính phí, vốn có thể bao gồm các thành phần truyền tải hoặc dịch vụ khác.

Kiểm tra danh tính trang và nội dung mong đợi trước khi chấp nhận bản ghi. Một trang đăng nhập hoặc thử thách không nên được đưa vào corpus dưới URL bài viết được yêu cầu. Giữ lại lý do bị từ chối ngay cả khi nội dung bị từ chối ở dạng thô phải bị xóa.

Giai đoạn 4: Trích Xuất Văn Bản mà Không Làm Mất Ý Nghĩa

Việc trích xuất văn bản nên cô lập nội dung tài liệu đã được phê duyệt đồng thời giữ lại các cấu trúc quan trọng đối với tác vụ dự định. Loại bỏ boilerplate là một phép biến đổi đặc thù theo nguồn.

Đối với các bài viết thông thường, hãy xác định vùng chứa nội dung chính và giữ lại tiêu đề cùng các đoạn văn. Đối với nội dung mã, bảng hoặc toán học, hãy giữ định dạng cần thiết để diễn giải tài liệu. Một chính sách khoảng trắng phù hợp cho văn xuôi có thể làm hỏng một ví dụ mã.

Ghi lại quy tắc trích xuất hoặc phiên bản parser cùng với đầu ra. Giữ tham chiếu bản ghi thô để một quy tắc đã thay đổi có thể được đánh giá với cùng đầu vào đó. Việc trích xuất rỗng được xem là chưa được giải quyết cho đến khi trang thực tế của nguồn và nội dung mong đợi của nó đã được kiểm tra.

Đính kèm danh tính nguồn và hoạt động ghi lại thông qua nguồn gốc tập dữ liệu (dataset provenance). Mối quan hệ đó nên được duy trì qua các phép biến đổi sau này và lọc trùng lặp.

Bắt đầu Thu thập Dữ liệu với Scrapeless

Tăng tốc quy trình thu thập dữ liệu web và tự động hóa của bạn với Scrapeless!
Đăng ký ngay hôm nay để nhận 5 đô tín dụng miễn phí — không cần thẻ tín dụng.

Nhận tín dụng miễn phí ngay tại Bảng điều khiển Scrapeless.

Giai đoạn 5: Khử Trùng lặp Văn Bản Được Chấp Nhận và Bảo Toàn Dòng Dõi

Khử trùng lặp xác định nội dung lặp lại theo một chính sách chuẩn hóa đã định. Nó phải bảo toàn thông tin về việc nguồn nào cung cấp cùng nội dung.

Bắt đầu với các băm văn bản đã chuẩn hóa chính xác cho một kiểu tài liệu có phạm vi rõ ràng. Các phương pháp tương đồng nâng cao hơn cần ngưỡng và đánh giá riêng. Tránh loại bỏ các bản sửa đổi hoặc bản dịch riêng biệt chỉ vì chúng chia sẻ một phần của trang.

nghiên cứu khử trùng lặp dữ liệu huấn luyện xem xét việc trùng lặp và tác động của nó đối với huấn luyện mô hình ngôn ngữ. Các phép đo của nó không phải là dự báo cho corpus của bạn; hãy tự đánh giá chính sách trùng lặp trên tập hợp nguồn của riêng bạn.

Bài kiểm tra thực thi sau đây sử dụng các bản ghi văn xuôi minh họa. Nó kiểm tra khử trùng lặp chính xác và giữ lại URL nguồn trùng lặp trong bản ghi chuẩn tắc. Ví dụ được chạy cục bộ, và các số đếm của nó chỉ mô tả các fixture được hiển thị.

python Copy
import hashlib
import json

# Illustrative prose records; these are not downloaded training documents.
rows = [
    {"url": "https://example.com/a", "text": "Permitted sample prose.",
     "training_use_approved": False},
    {"url": "https://example.com/b", "text": "Permitted  sample prose.",
     "training_use_approved": False},
    {"url": "https://example.com/c", "text": "",
     "training_use_approved": False}
]
unique = {}
duplicates = 0
rejected = 0
for row in rows:
    # This whitespace policy is scoped to the illustrative prose fixtures.
    text = " ".join(row["text"].split())
    if not text:
        rejected += 1
        continue
    digest = hashlib.sha256(text.encode("utf-8")).hexdigest()
    if digest in unique:
        duplicates += 1
        unique[digest]["source_urls"].append(row["url"])
        continue
    unique[digest] = {
        "text": text, "content_hash": digest,
        "source_urls": [row["url"]],
        "training_use_approved": row["training_use_approved"]
    }
print(json.dumps({
    "unique_documents": len(unique), "duplicates": duplicates,
    "rejected": rejected,
    "training_eligible": sum(r["training_use_approved"] for r in unique.values())
}))

Các fixture tạo ra một tài liệu duy nhất, một bản trùng lặp, một bản bị từ chối, và không có tài liệu đủ điều kiện huấn luyện. Một bản ghi văn bản được giữ lại không tự động trở nên đủ điều kiện chỉ vì kiểm tra nội dung của nó đã vượt qua. Trong một pipeline sản xuất, hãy lưu lại bản ghi quyền cho từng nguồn thay vì tự động kết hợp quyền trên các nguồn trùng lặp.

Giai đoạn 6: Đo Độ Phủ Ngôn Ngữ và Sản Lượng Hữu Ích

Sản lượng hữu ích đo lường những gì còn lại sau các quyết định chấp nhận và hiệu đính của pipeline. So sánh nó theo nguồn, ngôn ngữ, loại tài liệu và tuyến thu nhận.

Giữ riêng ngôn ngữ được khai báo, ngôn ngữ được phát hiện và khu vực địa lý được yêu cầu. Rà soát các tài liệu ngắn hoặc đa ngôn ngữ thay vì coi mọi đầu ra của bộ phát hiện là chắc chắn. Một corpus có thể đáp ứng mục tiêu số lượng tài liệu trong khi vẫn thiếu một trong các ngôn ngữ mục tiêu.

Sử dụng bộ tách từ (tokenizer) cho mô hình và quy trình tập dữ liệu khi đo lường sản lượng token. Đếm từ dựa trên khoảng trắng hoặc đếm ký tự là một phép đo khác và nên được gọi đúng tên của nó. Ghi lại bộ tách từ và phiên bản trong một bản kê phát hành có thể tái tạo.

Chỉ số Phép tính hoặc quan sát Điều nó giúp chẩn đoán
Chấp nhận nội dung Số bản ghi được chấp nhận chia cho số bản ghi được thử thu Phù hợp giữa thu nhận và hợp đồng nguồn
Sản lượng tài liệu độc nhất Tài liệu được chấp nhận độc nhất chia cho số lượt thu thập Phạm vi trùng lặp và bộ sưu tập
Mức độ bao phủ ngôn ngữ Tài liệu được tuyển chọn theo ngôn ngữ đã được rà soát Thành phần tập dữ liệu
Số byte trên mỗi tài liệu độc nhất Số byte thu thập đo được chia cho tài liệu được chấp nhận độc nhất Hiệu quả định tuyến và thu thập
Sản lượng token đủ điều kiện Đầu ra bộ mã hóa token của mô hình cho văn bản được giữ lại đủ điều kiện Đầu vào huấn luyện hữu ích

Hãy định nghĩa từng mẫu số trước khi so sánh các tuyến. Không so sánh số byte nội dung đã tải xuống với giá trị băng thông trên hóa đơn như thể chúng nhất thiết đo cùng một loại lưu lượng.

Giai đoạn 7: Lập ngân sách và phát hành Corpus

Ngân sách corpus nên bao gồm chi phí thu thập, lưu trữ, xử lý và rà soát cho tài liệu được giữ lại đủ điều kiện. Giá tuyến thấp hơn chỉ có giá trị hạn chế nếu nguồn chủ yếu tạo ra tài liệu bị từ chối hoặc trùng lặp.

Sử dụng các giá trị khối lượng công việc đo được cho một khoảng thời gian thu thập đã được phê duyệt nhỏ. Giữ tách biệt số tiền đã chi với lượng tài liệu hữu ích được giữ lại. Tránh đưa một tỷ lệ thành công mục tiêu phổ quát hoặc một giá trị byte-trên-mỗi-trang giả định vào dự báo.

Gắn phiên bản cho bản kê nguồn đã phát hành, quy tắc trích xuất, chính sách trùng lặp, quyết định về ngôn ngữ và bằng chứng rà soát sử dụng. Bảo toàn nguồn gốc khi bản ghi bị loại trừ để lần phát hành tiếp theo có thể giải thích cách thành phần đã thay đổi.

Xử lý dữ liệu huấn luyện một cách có trách nhiệm

Khả năng truy cập công khai là một quan sát thu thập, không phải bằng chứng rằng một tài liệu được chấp thuận cho mục đích huấn luyện dự định của bạn. Việc rà soát nguồn của bạn phải giải quyết vấn đề quyền và các yêu cầu áp dụng của dự án.

Kiểm tra điều khoản, bằng chứng về quyền cho phép và giao thức loại trừ robots. Giảm thiểu thông tin cá nhân không cần thiết, tôn trọng các loại trừ của nguồn, và xác định quy trình lưu giữ và loại bỏ trước khi xây dựng một công việc thu thập quy mô rộng.

Giữ tài liệu không phù hợp hoặc chưa được giải quyết ngoài lần phát hành dữ liệu huấn luyện. Một proxy không thể thay thế cho những quyết định quản trị đó. Khi quyền sử dụng được phép không rõ ràng, hãy giải quyết với chủ sở hữu nguồn có trách nhiệm hoặc người rà soát đủ năng lực.

Kết luận

Proxy cho huấn luyện LLM hữu ích khi chúng cung cấp một tuyến phù hợp cho việc thu thập đã được phê duyệt. Chuỗi xử lý dữ liệu huấn luyện quyết định liệu tài liệu thu được có ý nghĩa, độc nhất và đủ điều kiện cho tập dữ liệu dự định hay không.

Bắt đầu với một bản kê nguồn, bảo toàn bằng chứng thu thập, và đo lường sản lượng sau khi rà soát nội dung và quyền sử dụng. Mở rộng dấu chân định tuyến khi những bản ghi đó chứng minh rằng quy trình làm việc bổ sung được mức độ bao phủ corpus hữu ích.

Sẵn sàng xây dựng một chuỗi thu thập có thể truy vết?

Lập kế hoạch thu thập nguồn có giới hạn với Scrapeless, sau đó so sánh sản lượng quan sát được với bảng giá hiện tại. Chia sẻ câu hỏi về thiết kế chuỗi xử lý trên Telegram.

Câu hỏi thường gặp (FAQ)

H: Proxy có làm cho trang web phù hợp với huấn luyện LLM không?

Proxy cung cấp một tuyến mạng; chúng không thiết lập chất lượng tài liệu hoặc quyền cho việc huấn luyện. Những quyết định đó thuộc về chuỗi xử lý corpus và việc rà soát nguồn.

H: Quốc gia proxy được yêu cầu có xác định ngôn ngữ của tài liệu không?

Quốc gia được yêu cầu không xác định ngôn ngữ của tài liệu. Hãy kiểm tra nội dung trả về và giữ địa lý, ngôn ngữ được khai báo và ngôn ngữ đã rà soát như các quan sát riêng biệt.

H: Bộ thu thập nên xử lý một trang thử thách hoặc bị từ chối truy cập như thế nào?

Bộ thu thập nên từ chối hoặc cách ly phản hồi không phù hợp và ghi lại lý do thu thập. Không coi văn bản của nó như một tài liệu huấn luyện thành công.

H: Điều gì nên xảy ra khi một bộ chọn trích xuất thay đổi?

Rà soát lại nguồn và cập nhật quy tắc trích xuất dựa trên các bản ghi đã lưu. Bảo toàn phiên bản bộ phân tích cú pháp và định danh trang cuối cùng để có thể chẩn đoán đầu ra rỗng.

H: Corpus pilot nên sử dụng mức độ song song bao nhiêu?

Sử dụng một pilot có giới hạn và một mức giới hạn mỗi host bảo thủ, chẳng hạn ba worker cho chính sách ví dụ này. Quyền của nguồn, quy tắc thu thập và hoạt động đo được sẽ chi phối việc mở rộng.

H: Chuỗi thu thập này có cần một tác nhân AI không?

Các quyết định thu thập, trích xuất, khử trùng lặp và phát hành có thể chạy dưới dạng phần mềm quyết định tất định. Một tác nhân AI là người dùng tùy chọn hoặc trợ lý được giám sát xung quanh chuỗi xử lý đó.

H: Số lượng yêu cầu đã hoàn thành có thể ước tính sản lượng token huấn luyện không?

Số lượng yêu cầu đã hoàn thành không thể tự mình ước tính số token huấn luyện hữu ích. Hãy đo token bằng bộ mã hóa token dự định sau khi tài liệu được chấp nhận, khử trùng lặp và kiểm tra tính đủ điều kiện cho mục đích sử dụng.

Tại Scrapless, chúng tôi chỉ truy cập dữ liệu có sẵn công khai trong khi tuân thủ nghiêm ngặt các luật, quy định và chính sách bảo mật trang web hiện hành. Nội dung trong blog này chỉ nhằm mục đích trình diễn và không liên quan đến bất kỳ hoạt động bất hợp pháp hoặc vi phạm nào. Chúng tôi không đảm bảo và từ chối mọi trách nhiệm đối với việc sử dụng thông tin từ blog này hoặc các liên kết của bên thứ ba. Trước khi tham gia vào bất kỳ hoạt động cạo nào, hãy tham khảo ý kiến ​​cố vấn pháp lý của bạn và xem xét các điều khoản dịch vụ của trang web mục tiêu hoặc có được các quyền cần thiết.

Bài viết phổ biến nhất

Danh mục