Hub documentation

Batas penyimpanan

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Batas penyimpanan

Di Hugging Face, kami bertujuan untuk menyediakan komunitas AI dengan volume ruang penyimpanan gratis untuk repositori publik yang signifikan, dengan opsi untuk membeli lebih banyak penyimpanan jika diperlukan. Kami juga membebankan biaya untuk ruang penyimpanan repositori privat, di atas lapisan gratis (lihat tabel di bawah).

Batas dan kebijakan penyimpanan berlaku untuk semua jenis repositori (model, dataset, bucket, …) di Hub.

Kami meningkatkan infrastruktur kami secara berkelanjutan untuk memperluas penyimpanan kami untuk pertumbuhan AI dan Machine learning di tahun-tahun mendatang.

Kami memiliki langkah-langkah mitigasi untuk mencegah penyalahgunaan penyimpanan publik gratis, dan secara umum kami meminta pengguna dan organisasi untuk memastikan bahwa model atau dataset besar yang diunggah sebermanfaat mungkin bagi komunitas (misalnya, yang diwakili oleh jumlah like atau unduhan). Tingkatkan ke akun Organisasi atau Pengguna (PRO) berbayar untuk membuka batas yang lebih tinggi.

Rencana penyimpanan

Jenis akunPenyimpanan publikPenyimpanan privat
Pengguna atau organisasi gratisUpaya terbaik*100GB
PROHingga 10TB termasuk* + add-on ✅
grants tersedia untuk karya yang berdampak†
1TB + bayar sesuai pemakaian
Organisasi Tim12TB dasar + 1TB per kursi + add-on ✅1TB per kursi + bayar sesuai pemakaian
Organisasi Enterprise200TB dasar + 1TB per kursi + add-on 🏆
Hingga 1.000TB untuk kontrak besar
1TB per kursi + bayar sesuai pemakaian

💡 Organisasi Tim atau Enterprise mencakup 1TB penyimpanan privat per kursi dalam langganan: misalnya, jika organisasi Anda memiliki 40 anggota, maka Anda memiliki 40TB penyimpanan privat yang disertakan.

* Kami bertujuan untuk terus menyediakan ruang penyimpanan gratis yang besar bagi komunitas AI untuk repositori publik. Di luar beberapa gigabyte pertama, mohon gunakan sumber daya ini secara bertanggung jawab dengan mengunggah konten yang menawarkan nilai nyata bagi pengguna lain. Jika Anda membutuhkan ruang penyimpanan yang besar, Anda perlu meningkatkan ke PRO, Team, atau Enterprise.

† Dalam beberapa kasus, tambahan kuota penyimpanan tersedia untuk karya open-source berdampak tinggi di mana paket berbayar benar-benar tidak dapat memenuhi kebutuhan. Hubungi kami dengan bukti dampak komunitas (likes, unduhan, sitasi).

Add-on Penyimpanan Publik

Pengguna dengan paket berbayar (PRO, Team, atau Enterprise) dapat berlangganan Public Storage add-on untuk penyimpanan publik tambahan di atas batas dasar paket mereka.

Add-on PenyimpananHargaPer TB
1 TB$12/bulan$12/TB/bulan
5 TB$60/bulan$12/TB/bulan
10 TB$120/bulan$12/TB/bulan
20 TB$240/bulan$12/TB/bulan
50 TB$500/bulan$10/TB/bulan

Anda dapat berlangganan atau mengubah tier Anda dari halaman pengaturan Billing akun atau organisasi Anda. Peningkatan berlaku segera; penurunan dijadwalkan berlaku pada awal bulan berikutnya. Jika Anda membutuhkan lebih banyak penyimpanan, Anda dapat menghubungi kami untuk memanfaatkan penetapan harga skala besar khusus.

Penyimpanan privat Bayar sesuai pemakaian

Di atas penyimpanan privat 1TB (atau 1TB per kursi) yang disertakan dalam PRO dan Organisasi Team atau Enterprise, penyimpanan privat tambahan akan ditagihkan ke metode pembayaran Anda dalam mode Pay-as-you-go, dengan harga dasar $18/TB/bulan. Diskon tambahan tersedia untuk volume berskala besar melalui eksekutif akun kami:

VolumeHarga (repo privat)
Dasar$18/TB/bln
50TB+$16/TB/bln
200TB+$14/TB/bln
500TB+$12/TB/bln

Lihat dokumen penagihan kami untuk detail lebih lanjut, atau lihat harga terbaru di huggingface.co/pricing.

Batasan dan rekomendasi repository

Bagian ini tidak berlaku untuk Storage Buckets

Selain batas penyimpanan di tingkat akun (pengguna atau organisasi), ada beberapa batasan yang perlu diperhatikan saat menangani sejumlah besar data dalam repositori berbasis Git tertentu. Mengingat waktu yang dibutuhkan untuk mengalirkan data, kegagalan unggah/push di akhir proses atau pengalaman yang menurun, baik di hf.co maupun saat bekerja secara lokal, dapat sangat mengganggu. Pada bagian berikut, kami menjelaskan rekomendasi kami tentang cara terbaik untuk menyusun repositori besar Anda.

Rekomendasi

Kami telah mengumpulkan daftar tips dan rekomendasi untuk menyusun repo Anda. Jika Anda mencari tips yang lebih praktis, lihat panduan ini tentang cara mengunggah sejumlah besar data menggunakan pustaka Python.

KarakteristikDirekomendasikanTips
Ukuran repo-upgrade rencana penyimpanan Anda atau hubungi kami untuk repositori besar (data dalam skala TB)
File per repo<100kmenggabungkan data ke dalam lebih sedikit file
Entri per folder<10kgunakan subdirektori di repo
Ukuran file<200GBmemecah data menjadi file berchunk
Ukuran commit<100 file*upload_folder/hf upload otomatis membagi folder besar menjadi beberapa commit
Commit per repo-mengunggah beberapa file per commit dan/atau memadatkan riwayat

* Tidak relevan saat menggunakan git CLI secara langsung

Silakan baca bagian berikutnya untuk memahami batasan-batasan tersebut dan cara mengatasinya dengan lebih baik.

Penjelasan

Apa yang kita maksud ketika mengatakan “upload besar”, dan apa saja keterbatasannya? Upload besar bisa sangat beragam, mulai dari repositori dengan beberapa file berukuran sangat besar (misalnya bobot model) hingga repositori dengan ribuan file kecil (misalnya dataset gambar).

Di balik layar, Hub menggunakan Git untuk memversikan data, yang memiliki implikasi struktural terhadap apa yang dapat Anda lakukan di repo Anda. Jika repo Anda melewati beberapa angka yang disebutkan di bagian sebelumnya, kami sangat menyarankan Anda untuk mencoba git-sizer, yang memiliki dokumentasi sangat detail tentang berbagai faktor yang akan memengaruhi pengalaman Anda. Berikut adalah TL;DR dari faktor-faktor yang perlu dipertimbangkan:

  • Ukuran repositori: Total ukuran data yang akan Anda unggah. Tidak ada batas ukuran per repositori untuk model dan dataset, tetapi unggahan dihitung terhadap kuota penyimpanan total akun Anda (lihat Rencana penyimpanan di atas). Jika Anda membutuhkan lebih banyak penyimpanan, naikkan rencana Anda atau beli penambahan penyimpanan.
  • Number of files:
    • Untuk pengalaman optimal, kami merekomendasikan agar total jumlah file tetap di bawah 100k, dan idealnya jauh lebih sedikit. Coba gabungkan data ke dalam lebih sedikit file jika Anda memiliki lebih dari itu. Sebagai contoh, file json dapat digabungkan menjadi satu file jsonl, atau dataset besar dapat diekspor sebagai file Parquet atau dalam format WebDataset.
    • Jumlah maksimum file per folder tidak boleh melebihi 10k file per folder. Solusi sederhana adalah membuat struktur repositori yang menggunakan subdirektori. Misalnya, repositori dengan 1k folder dari 000/ hingga 999/, masing-masing berisi paling banyak 1000 file, sudah cukup.
  • File size: Untuk mengunggah file berukuran besar (misalnya bobot model), kami sangat merekomendasikan untuk membaginya menjadi potongan-potongan berukuran kurang dari 200GB masing-masing.. Ada beberapa alasan untuk hal ini:
    • Mengunggah dan mengunduh file yang lebih kecil jauh lebih mudah, baik bagi Anda maupun pengguna lain. Masalah koneksi selalu bisa terjadi saat streaming data, dan file yang lebih kecil menghindari proses pengulangan dari awal jika terjadi kesalahan.
    • File disajikan kepada pengguna menggunakan CloudFront. Berdasarkan pengalaman kami, file berukuran besar tidak di-cache oleh layanan ini, yang menyebabkan kecepatan unduhan menjadi lebih lambat. Dalam semua kasus, tidak ada satu pun file yang akan melebihi 500GB. Artinya, 500GB adalah batas keras untuk ukuran satu file.
  • Jumlah commit: Tidak ada batas keras untuk total jumlah commit pada riwayat repo Anda. Namun, berdasarkan pengalaman kami, pengalaman pengguna di Hub mulai menurun setelah beberapa ribu commit. Kami terus bekerja untuk meningkatkan layanan, tetapi perlu diingat bahwa repositori git tidak dirancang untuk berfungsi sebagai database dengan banyak penulisan. Jika riwayat repo Anda menjadi sangat besar, selalu dimungkinkan untuk menggabungkan semua commit untuk memulai dari awal menggunakan super_squash_history dari huggingface_hub. Perhatikan bahwa ini adalah operasi yang tidak dapat dibatalkan.
  • Jumlah operasi per commit: Sekali lagi, tidak ada batas keras di sini. Ketika sebuah commit diunggah ke Hub, setiap operasi git (penambahan atau penghapusan) diperiksa oleh server. Ketika seratus Large File di-commit sekaligus, setiap file diperiksa secara individual untuk memastikan bahwa file tersebut telah diunggah dengan benar. Ketika mendorong data melalui HTTP, timeout 60 detik diatur pada permintaan, yang berarti bahwa jika proses memakan waktu lebih lama, sebuah error akan dilempar. Namun, hal ini bisa terjadi (dalam kasus yang jarang) bahwa meskipun timeout dilempar di sisi klien, proses tetap selesai di sisi server. Hal ini dapat diperiksa secara manual dengan menelusuri repo di Hub. Metode upload_folder dan perintah hf upload menghindari hal ini secara otomatis dengan memecah folder besar menjadi beberapa commit. Jika Anda melakukan commit secara manual, pertahankan sekitar 50-100 file per commit.

Berbagi dataset besar di Hub

Salah satu cara utama Hugging Face mendukung ekosistem machine learning adalah dengan menghosting dataset di Hub, termasuk dataset yang sangat besar. Dataset besar dihitung terhadap kuota penyimpanan total akun Anda, jadi pastikan rencana penyimpanan Anda memiliki kapasitas yang cukup sebelum mengunggah. Penyimpanan publik tambahan dapat dibeli sebagai add-on.

Untuk menghosting dataset besar di Hub, kami memerlukan hal-hal berikut:

  • Kartu dataset: kami ingin memastikan bahwa dataset Anda dapat digunakan secara efektif oleh komunitas, dan salah satu cara utama untuk memungkinkan hal ini adalah melalui kartu dataset. Panduan ini memberikan gambaran tentang cara menulis kartu dataset.
  • Anda membagikan dataset untuk memungkinkan penggunaan ulang oleh komunitas. Jika Anda berencana mengunggah dataset yang diperkirakan tidak akan memiliki penggunaan ulang lebih lanjut, platform lain kemungkinan lebih sesuai.
  • Anda harus mematuhi batasan repositori yang diuraikan di atas.
  • Menggunakan format file yang terintegrasi dengan baik dengan ekosistem Hugging Face. Kami memiliki dukungan yang baik untuk format Parquet dan WebDataset, yang sering menjadi pilihan yang baik untuk berbagi dataset besar secara efisien. Hal ini juga akan memastikan bahwa dataset viewer berfungsi untuk dataset Anda.
  • Hindari penggunaan skrip pemuatan kustom saat menggunakan datasets. Berdasarkan pengalaman kami, dataset yang memerlukan kode kustom untuk digunakan sering kali berakhir dengan keterbatasan penggunaan ulang.

Silakan hubungi kami jika salah satu persyaratan ini sulit dipenuhi karena jenis data atau domain yang Anda kerjakan.

Berbagi volume besar model di Hub

Sama seperti dataset, model berukuran besar atau volume model yang besar (misalnya, ratusan kuantisasi otomatis) dihitung terhadap kuota penyimpanan total akun Anda. Pastikan rencana penyimpanan Anda memiliki kapasitas yang cukup, atau beli penambahan penyimpanan.

Hibah untuk tim riset dan organisasi nirlaba

Kami merekomendasikan agar institusi akademik dan riset beralih ke Team, Enterprise, atau Academia Hub untuk batas penyimpanan yang terjamin. Dalam beberapa kasus, hibah penyimpanan mungkin tersedia untuk karya open-source berdampak tinggi di mana paket berbayar benar-benar tidak dapat memenuhi kebutuhan. Hibah ini dievaluasi berdasarkan kasus per kasus dan memerlukan bukti dampak komunitas (unduhan, sitasi, adopsi komunitas, dll.). Hubungi datasets@huggingface.co atau models@huggingface.co dengan proposal yang terperinci.

Bagaimana cara saya membebaskan ruang penyimpanan di akun/organisasi saya?

Ada beberapa cara untuk mengelola dan membebaskan sebagian ruang penyimpanan di akun atau organisasi Anda. Pertama, jika Anda membutuhkan lebih banyak ruang penyimpanan, tingkatkan ke paket PRO, Team, atau Enterprise untuk mendapatkan batas penyimpanan yang lebih besar.

⚠️ Penting: Menghapus file berukuran besar adalah operasi destruktif yang tidak dapat dibatalkan. Pastikan untuk membuat cadangan file Anda sebelum melanjutkan.

Poin-poin penting untuk diingat:

  • Menghapus hanya pointer LFS tidak akan membebaskan ruang
  • Jika Anda tidak menulis ulang riwayat Git, checkout cabang/tag di masa depan yang berisi file LFS yang dihapus dengan pointer lfs yang sudah ada akan gagal (untuk menghindari error, tambahkan baris berikut ke file .gitconfig Anda: lfs.skipdownloaderrors=true)

Menghapus file LFS secara individual

  1. Buka halaman Pengaturan di repositori Anda
  2. Klik “List LFS files” di bagian “Storage”
  3. Gunakan menu tindakan untuk menghapus file tertentu

Menghapus referensi Pull request

Pull requests membuat git refs yang menyimpan commit-nya. Setelah menutup atau menggabungkan PR, Anda dapat menghapus ref-nya untuk mengosongkan ruang penyimpanan. Ini sangat berguna ketika:

  • PR berisi file besar yang tidak pernah digabungkan
  • Anda telah melakukan squash pada branch utama dan menghapus file kemudian — file-file tersebut tetap ada dalam riwayat branch PR meskipun tidak ditambahkan oleh PR itu sendiri

Untuk menghapus ref PR, buka PR yang sudah ditutup atau digabungkan, lalu cari pemberitahuan penyimpanan di bagian bawah yang menampilkan perkiraan ruang yang dapat dibebaskan. Klik “Delete ref” untuk menghapusnya secara permanen.

Menghapus ref PR bersifat tidak dapat dibatalkan dan akan mencegah siapa pun mengambil atau memeriksa keluar commit tersebut secara lokal.

Super-squash repositori Anda menggunakan API

Operasi super-squash mengompres seluruh riwayat Git Anda menjadi satu commit. Pertimbangkan untuk menggunakan super-squash ketika Anda perlu merebut kembali penyimpanan dari versi LFS lama yang tidak Anda gunakan. Operasi ini hanya tersedia melalui Hub Python Library atau API.

⚠️ Penting: Ini adalah operasi destruktif yang tidak dapat dibatalkan, riwayat commit akan hilang secara permanen dan riwayat file LFS akan dihapus

Efek dari operasi squash pada kuota penyimpanan Anda tidak bersifat instan dan akan tercermin pada kuota Anda dalam waktu 36 jam.

Lanjutan: Lacak referensi file LFS

Saat Anda menemukan file LFS di “List LFS files” pada repositori Anda tetapi tidak tahu dari mana asalnya, Anda dapat menelusuri sejarahnya menggunakan OID SHA-256-nya dengan perintah git log:

git log --all -p -S <SHA-256-OID>

Sebagai contoh:

git log --all -p -S 68d45e234eb4a928074dfd868cead0219ab85354cc53d20e772753c6bb9169d3

commit 5af368743e3f1d81c2a846f7c8d4a028ad9fb021
Date:   Sun Apr 28 02:01:18 2024 +0200

    Update LayerNorm tensor names to weight and bias

diff --git a/model.safetensors b/model.safetensors
index a090ee7..e79c80e 100644
--- a/model.safetensors
+++ b/model.safetensors
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:68d45e234eb4a928074dfd868cead0219ab85354cc53d20e772753c6bb9169d3
+oid sha256:0bb7a1683251b832d6f4644e523b325adcf485b7193379f5515e6083b5ed174b
 size 440449768

commit 0a6aa9128b6194f4f3c4db429b6cb4891cdb421b (origin/pr/28)
Date:   Wed Nov 16 15:15:39 2022 +0000

    Adding `safetensors` variant of this model (#15)
    
    
    - Adding `safetensors` variant of this model (18c87780b5e54825a2454d5855a354ad46c5b87e)
    
    
    Co-authored-by: Nicolas Patry <Narsil@users.noreply.huggingface.co>

diff --git a/model.safetensors b/model.safetensors
new file mode 100644
index 0000000..a090ee7
--- /dev/null
+++ b/model.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:68d45e234eb4a928074dfd868cead0219ab85354cc53d20e772753c6bb9169d3
+size 440449768

commit 18c87780b5e54825a2454d5855a354ad46c5b87e (origin/pr/15)
Date:   Thu Nov 10 09:35:55 2022 +0000

    Adding `safetensors` variant of this model

diff --git a/model.safetensors b/model.safetensors
new file mode 100644
index 0000000..a090ee7
--- /dev/null
+++ b/model.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:68d45e234eb4a928074dfd868cead0219ab85354cc53d20e772753c6bb9169d3
+size 440449768
Update on GitHub