پالت فرمان

دنبال فرمانی برای اجرا بگردید…

ZarynZaryn
فایل‌ها، ذخیره‌سازی و رمزنگاری·۵ دقیقه مطالعه·

مجموعه‌داده‌ها و مدل‌ها: نسخه‌هایی که می‌شود اثباتشان کرد

یک پوشه از یک سطل را به‌عنوان نسخه‌ای از یک مجموعه‌داده یا مدل منجمد کنید. فایل‌های دقیق با هش‌هایشان زیر یک ریشه، ماندگار وقتی سطل تغییر می‌کند، پیوندخورده به آنچه رویش آموزش دیده‌اند، و بارگیری در تکه‌های بررسی‌شده که از همان‌جا که قطع شد ادامه می‌یابد.

یک مدل فقط به اندازهٔ داده‌ای که رویش آموزش دیده قابل اعتماد است. «مجموعه‌دادهِ فروردین» از لحظه‌ای که کسی فایلی به پوشه اضافه کند دیگر معنایی ندارد. در Zaryn، **یک نسخهٔ مجموعه‌داده** فهرستی منجمد از فایل‌هاست، هر کدام با هش خودش، زیر یک ریشه. هرگز تغییر نمی‌کند، وقتی سطل تغییر کند هم قابل بارگیری می‌ماند، و می‌گوید از چه ساخته شده است. ```diagram type: flow title: از یک سطل تا مدلی که ردش را می‌شود گرفت --- بارگذاری | فایل‌ها را در یک سطل بگذارید: aws-cli، rclone، اسکریپت آموزش شما | | 📦 ~ منجمد کردن | zev data snapshot corpus: فایل‌های دقیق و هش‌هایشان نسخهٔ ۱ می‌شوند | accent | ❄ ~ آموزش | وزن‌های مدل هم در یک سطل می‌روند | | 🧠 ~ پیوند | zev data snapshot tiny --trained-on you/corpus@1 | | 🔗 ~ بارگیری در هر جا | zev data pull you/tiny@1: هر تکه بررسی می‌شود، پس از قطع ادامه می‌یابد | good | ⬇ ``` ## یک مجموعه‌داده بسازید یک مجموعه‌داده (یا مدل) پوشه‌ای از یکی از [سطل‌های S3](/docs/fa/s3-storage) شماست. فایل‌ها را با هر ابزار S3 آنجا بگذارید، سپس: ```bash zev data new corpus my-bucket/train -d "labelled support tickets" zev data snapshot corpus -m "first 40k tickets" ``` ```text Version 1 of you/corpus: 40112 files, 2.1 GB (+40112 added, ~0 changed, -0 removed) root 3f9c1a0e… Anyone who can read it gets exactly these bytes: zev data pull you/corpus@1 ``` پوشه را تغییر دهید (فایل اضافه کنید، برچسب‌ها را درست کنید، ردیف‌های بد را بردارید) و دوباره snapshot بگیرید. هر نسخه ثبت می‌کند چه اضافه، تغییر و حذف شد. اگر چیزی تغییر نکرده باشد، نسخه‌ای ساخته نمی‌شود. مدل هم همین‌طور است، با `--model`: ```bash zev data new tiny my-bucket/models/tiny --model ``` همهٔ این‌ها در [صفحهٔ ذخیره‌سازی](/storage#datasets) هم هست: **مجموعه‌داده‌ها و مدل‌ها ← بسازید**، سپس **منجمد کردن یک نسخه**. ## یک نسخه چیست ```diagram type: cards title: یک نسخه، هر کدام در یک خط --- 📄 | فایل‌ها | هر فایل زیر آن پوشه در آن لحظه: مسیرش، هش BLAKE3 آن، اندازه‌اش | accent 🌳 | یک ریشه | یک ریشهٔ مرکل روی همان خط‌ها. ریشهٔ یکسان، فایل‌های یکسان، بایت به بایت | 🧊 | ماندگار | فایلی را در سطل پاک یا بازنویسی کنید: نسخه هنوز فایل قدیمی را دارد | good 🔗 | منابعش | روی کدام مجموعه‌داده‌ها، مدل‌ها یا مخزن‌ها آموزش، تنظیم یا ارزیابی شده | ``` ریشه، ریشهٔ مرکل [RFC 6962](https://www.rfc-editor.org/rfc/rfc6962) روی خط‌های `path:blake3:size` است که بر اساس مسیر مرتب شده‌اند. هر کسی می‌تواند آن را از روی فایل‌ها دوباره حساب کند. آن را در یک مقاله یا کارت مدل بنویسید تا خواننده بتواند ثابت کند دقیقاً همان چیزی را دارد که شما رویش آموزش دادید. فایلی که فقط نسخه‌های قدیمی هنوز لازمش دارند برایشان نگه داشته می‌شود و در [طرح ذخیره‌سازی](/storage#plans) شما یک بار حساب می‌شود، هر چند نسخه هم که آن را داشته باشند. پاک کردن مجموعه‌داده آن را آزاد می‌کند. ## بارگیری: بررسی‌شده و ازسرگیری‌پذیر ```bash zev data pull you/corpus@1 zev data pull you/corpus@1 data/ --root 3f9c1a0e… ``` اولی در `./corpus` می‌رود. دومی در `data/` می‌رود و هر نسخه‌ای را که ریشه‌اش همانی نباشد که یادداشت کرده‌اید رد می‌کند. ```diagram type: sequence title: بارگیری چطور هر بایت را بررسی می‌کند lanes: رایانهٔ شما | Zaryn alt: zev فهرست فایل‌های نسخه را می‌خواهد و ریشه‌اش را دوباره حساب می‌کند؛ سپس هر فایل را در تکه‌های ۱۶ مگابایتی می‌خواهد که هر کدام با گره‌های درخت BLAKE3 اثبات‌کننده‌اش می‌آید، و هر تکه را پیش از نوشتن با هش فایل بررسی می‌کند --- رایانهٔ شما -> Zaryn : فهرست فایل‌های نسخه Zaryn --> رایانهٔ شما : مسیرها، هش‌ها، اندازه‌ها، ریشه note رایانهٔ شما : ریشه را دوباره حساب کن: باید یکی باشد (و با --root هم) | accent رایانهٔ شما -> Zaryn : یک تکه از یک فایل، هر بار ۱۶ مگابایت Zaryn --> رایانهٔ شما : تکه + گره‌های درخت BLAKE3 آن (bao) note رایانهٔ شما : تکه را با هش فایل بررسی کن، بعد بنویس | good ``` - **هیچ چیز بررسی‌نشده‌ای نوشته نمی‌شود.** هر تکه با بخشی از درخت BLAKE3 فایل می‌آید که آن را اثبات می‌کند (bao). یک بیت واژگون، روی دیسک سرور یا در راه، پیش از رسیدن به پوشهٔ شما رد می‌شود. - **قطع شد؟ دوباره اجرا کنید.** بارگیری از آخرین تکهٔ بررسی‌شده ادامه می‌یابد. فایل نیمه‌کاره‌ای که در این میان دست‌کاری شده باشد پیدا و دوباره گرفته می‌شود. - **از قبل دارید؟** فایل‌هایی که با هش درست در پوشه هستند دوباره بارگیری نمی‌شوند. - **سنجاق‌شده.** با `--root` هیچ چیز بارگیری نمی‌شود مگر ریشه یکی باشد. ## تبار: از کجا آمده هنگام منجمد کردن بگویید نسخه از چه ساخته شده است: ```bash zev data snapshot tiny -m "3 epochs" --trained-on you/corpus@2 --evaluated-on you/heldout@1 zev data snapshot corpus-clean --from you/corpus@2 zev data snapshot tiny --fine-tuned-from repo:you/base-model ``` | گزینه | یعنی | |---|---| | `--trained-on` | روی آن نسخهٔ مجموعه‌داده آموزش دیده | | `--fine-tuned-from` | از آن مدل شروع شده | | `--evaluated-on` | روی آن نسخهٔ مجموعه‌داده سنجیده شده | | `--from` | از آن ساخته شده (پاک‌سازی، پالایش، تبدیل) | | `--uses` | برای اجرا به آن نیاز دارد | پیوند به یک نسخهٔ مجموعه‌داده (`owner/name@v`) یا یک [مخزن](/docs/fa/evals-and-lineage) (`repo:owner/name`) است. سپس تا بالا دنبالش کنید، یا ببینید چه چیزهایی از یک نسخه استفاده می‌کنند: ```bash zev data lineage tiny ``` ```text you/tiny@1 <- trained_on you/corpus@2 (40310 files, 2.1 GB) <- derived_from you/raw-tickets@5 (52000 files, 3.4 GB) <- evaluated_on you/heldout@1 (2000 files, 90 MB) ``` `zev data show you/corpus@2` بخش **used by** را هم نشان می‌دهد. اگر منبعی بعداً پاک شود، پیوند می‌ماند و با *deleted since* علامت می‌خورد. ## هم‌رسانی ```bash zev data public corpus on ``` یک مجموعه‌داده عمومی را هر کسی، واردشده یا نه، با همان بررسی‌ها می‌تواند بارگیری کند. مجموعه‌داده خصوصی فقط مال شماست. ## مقایسهٔ نسخه‌ها ```bash zev data versions corpus zev data diff corpus@1 @2 ``` ```text ~ labels.csv (1.2 MB -> 1.3 MB) + tickets/40113.json (2.1 KB) - tickets/00017.json (1.9 KB) you/corpus @1 -> @2: 198 added, 3 changed, 1 removed, +410.2 KB ``` ## محدودیت‌ها | | | |---|---| | فایل در یک نسخه | ۲۰۰٬۰۰۰ (برای بیشتر، پوشهٔ باریک‌تری را snapshot بگیرید) | | پیوند در هر نسخه | ۲۰ | | سطلی که مجموعه‌داده دارد | تا مجموعه‌داده‌ها پاک نشوند پاک نمی‌شود | مرتبط: [ذخیره‌سازی سازگار با S3](/docs/fa/s3-storage)، [ارزیابی‌ها و تبار](/docs/fa/evals-and-lineage)، [ذخیره‌سازی راستی‌آزمایی‌شده](/docs/fa/verified-storage).