Hub documentation

게이트된 데이터셋

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

게이트된 데이터셋

데이터셋 사용에 대한 더 세밀한 제어를 제공하기 위해, Hub는 데이터셋 작성자가 자신의 데이터셋에 대해 액세스 요청을 활성화할 수 있도록 지원합니다. 활성화된 경우, 사용자는 데이터셋 파일에 액세스하기 위해 요청을 제출해야 하며, 작성자가 수집을 거부하지 않는 한 Hugging Face 정보(사용자 이름 및 이메일 주소)가 데이터셋 작성자와 공유됩니다. 데이터셋 작성자는 사용자 정의 필드를 추가할 수도 있습니다. 액세스 요청이 활성화된 데이터셋은 게이트 데이터셋이라고 합니다. 액세스 요청은 조직 전체가 아닌 개별 사용자에게만 승인됩니다. 게이트 데이터셋의 일반적인 사용 사례는 광범위한 릴리스 전에 초기 연구 데이터셋에 대한 액세스를 제공하는 것입니다.

게이트된 데이터셋을 데이터셋 저자로 관리하기

액세스 요청을 활성화하려면 데이터셋 설정 페이지로 이동하세요. 기본적으로 데이터셋은 게이트가 적용되지 않습니다. 오른쪽 상단의 Enable Access request를 클릭하세요.

기본적으로 데이터셋에 대한 액세스 권한은 사용자가 요청할 때 자동으로 부여됩니다. 이를 자동 승인이라고 합니다. 이 모드에서는 사용자가 개인 정보를 공유하면 누구나 데이터셋에 액세스할 수 있습니다.

데이터셋에 액세스할 수 있는 사용자를 수동으로 승인하려면 manual approval으로 설정해야 합니다. 이 경우 더 많은 옵션이 표시됩니다:

  • 액세스 추가는 사용자가 요청하지 않은 경우에도 사용자를 검색하여 액세스 권한을 부여할 수 있습니다.
  • 알림 빈도는 새로운 사용자가 액세스를 요청할 때 언제 알림을 받을지 설정할 수 있습니다. 하루 한 번 또는 실시간으로 설정할 수 있습니다. 기본적으로 기본 이메일 주소로 이메일이 전송됩니다. 조직 아래에 호스팅된 데이터셋의 경우, 기본적으로 조직의 관리자 5명에게 이메일이 전송됩니다. 두 경우(사용자 또는 조직) 모두 알림 이메일 필드에서 다른 이메일 주소를 설정할 수 있습니다.

액세스 요청 검토

액세스 요청이 활성화되면 승인 모드가 수동인지 자동인지에 관계없이 데이터셋에 대한 액세스 권한을 부여할 사용자를 완전히 제어할 수 있습니다. UI 또는 API를 통해 요청을 검토하고 관리할 수 있습니다.

UI에서

접근 요청 검토 버튼을 클릭하여 설정 페이지에서 게이트된 데이터셋에 대한 접근 권한이 있는 사용자를 확인할 수 있습니다. 그러면 3개의 사용자 목록이 포함된 모달이 열립니다:

  • pending: 데이터셋 접근을 승인 대기 중인 사용자 목록입니다. manual approval을 선택하지 않은 경우 이 목록은 비어 있습니다. 요청을 Accept하거나 Reject할 수 있습니다. 요청이 거부되면 해당 사용자는 데이터셋에 접근할 수 없으며, 다시 접근을 요청할 수도 없습니다.
  • accepted: 데이터셋에 접근 권한이 있는 사용자의 전체 목록입니다. 승인 모드가 수동 또는 자동인 경우를 불문하고, 언제든지 특정 사용자의 접근을 거부할 수 있습니다. 또한 승인을 취소하여 해당 사용자를 pending 목록으로 이동시킬 수도 있습니다.
  • rejected: 수동으로 거부한 사용자 목록입니다. 해당 사용자는 데이터셋에 접근할 수 없습니다. 데이터셋 저장소에 접근하면 이 저장소에 대한 접근 요청이 저장소 작성자에 의해 거부되었습니다라는 메시지가 표시됩니다.

API를 통해

API를 사용하여 액세스 요청 승인 과정을 자동화할 수 있습니다. 게이트된 저장소에 대한 write 액세스 권한이 있는 token을 전달해야 합니다. 토큰을 생성하려면 사용자 설정으로 이동하세요.

메서드URI설명헤더Payload
GET/api/datasets/{repo_id}/user-access-request/{status}status가 pending, accepted, rejected 또는 reset인 요청을 나열합니다. 각 요청에는 requestId가 있고, 사용자 이름이 수집된 경우 user가 있습니다.{"authorization": "Bearer $token"}
POST/api/datasets/{repo_id}/user-access-request/handle주어진 액세스 요청의 상태를 status(으)로 변경합니다.{"authorization": "Bearer $token"}{"status": "accepted"/"rejected"/"pending"/"reset", "user": "username" (or "requestId": "request id"), "rejectionReason": "Optional rejection reason that will be visible to the user (max 200 characters).", "resetReason": "Optional reset reason that will be included in the email sent to the user (max 200 characters)."}
POST/api/datasets/{repo_id}/user-access-request/grant특정 사용자가 리포지토리에 액세스할 수 있도록 허용합니다.{"authorization": "Bearer $token"}{"user": "username"}

위 HTTP 엔드포인트의 기본 URL은 https://huggingface.co입니다.

요청을 reset으로 설정하면 이전 결정이 취소되고 사용자에게 처음부터 다시 시작하도록 요청됩니다. 사용자는 데이터셋에 대한 액세스 권한을 잃고, 요청이 리셋되었음을 알리는 이메일(선택 사항인 resetReason 포함)을 수신하며, 다음에 데이터셋 페이지를 방문할 때 게이팅 조건에 동의하고 새로운 요청을 제출하도록 안내받습니다. 이는 기존 요청을 그대로 유지한 채 단순히 검토 큐에 다시 넣는 pending과, 사용자가 액세스를 다시 요청하는 것을 차단하는 rejected와 다릅니다.

신규! 해당 엔드포인트는 이제 Python 클라이언트 huggingface_hub에서 공식적으로 지원됩니다. list_pending_access_requests, list_accepted_access_requests, list_rejected_access_requests를 사용하여 데이터셋에 대한 접근 요청을 나열할 수 있습니다. 또한 accept_access_request, cancel_access_request, reject_access_request를 사용하여 접근 요청을 수락, 취소, 거부할 수 있습니다. 마지막으로 grant_access를 사용하여 사용자에게 접근 권한을 부여할 수 있습니다.

다운로드 액세스 보고서

게이트된 데이터셋에 대한 모든 액세스 요청에 대한 보고서를 download user access report 버튼으로 다운로드할 수 있습니다. 이 버튼을 클릭하면 사용자 목록이 포함된 json 파일이 다운로드됩니다. 각 항목에는 다음 정보가 있습니다:

  • requestId: 요청의 ID.
  • user: 사용자 ID. 예: julien-c.
  • fullname: Hub에서 사용자의 이름. 예: Julien Chaumond.
  • status: 요청의 상태. "pending", "accepted", "rejected" 또는 "reset" 중 하나입니다.
  • email: 사용자의 이메일.
  • time: 사용자가 처음 요청을 한 시각(datetime).
  • reviewedAt: 요청이 승인되거나 거부된 날짜와 시간입니다. 대기 중인 요청에는 설정되지 않습니다.

user, fullname, email은 요청 시 수집을 선택한 경우에만 존재합니다. 모든 요청은 requestId로 식별할 수 있습니다.

Hugging Face가 귀하와 공유할 프로필 데이터를 선택하세요

기본적으로 Hugging Face는 요청자의 사용자 이름과 기본 이메일 주소를 귀하와 공유합니다. 개인 식별 정보(PII)를 처리하는 책임은 귀하에게 있으며, 적용되는 법률에 따라 이를 어떻게 처리하는지 공개해야 합니다(예: 자체 개인정보 처리방침에 대한 링크를 제공하는 것). 이 설정은 데이터셋 설정 페이지의 gating 옵션에서 변경할 수 있습니다:

  • 사용자 이름 수집: 선택 해제 시 요청자의 Hugging Face 사용자 이름, 전체 이름, 아바타를 받지 않습니다. 요청은 요청 ID와 함께 목록에 표시되며, 다른 요청과 마찬가지로 수락하거나 거부할 수 있습니다.
  • 이메일 수집: 요청자의 Hugging Face 프로필 이메일을 수집합니다. 사용자 이름 수집이 필요합니다.

사용자 지정 양식 필드에 대한 답변은 계속 수신할 수 있으므로, 필요한 연락처 정보를 해당 필드에 요청할 수 있습니다. 이러한 설정은 새로운 요청에만 적용되며, 기존 요청은 생성 시점에 적용되었던 설정을 유지합니다.

Gating Group Collection에 포함된 데이터셋의 경우, 이러한 옵션은 컬렉션에서 설정됩니다.

요청한 정보 사용자 지정

By default, users landing on your gated dataset will be asked to share their Hugging Face information (email and username, unless you disabled their collection) by clicking the Agree and send request to access repo button.

추가 사용자 정보를 요청하여 액세스를 제공하려면 추가 필드를 구성할 수 있습니다. 이 정보는 Settings 탭에서 접근할 수 있습니다. 이를 위해 dataset card metadata에 키/값 쌍 목록을 포함하는 extra_gated_fields 속성을 추가합니다. key는 필드 이름이고 value는 해당 필드의 유형 또는 type 필드가 포함된 객체입니다. 필드 유형 목록은 다음과 같습니다:

  • text: 한 줄 텍스트 필드.
  • checkbox: 체크박스 필드.
  • date_picker: 날짜 선택 필드.
  • country: 국가 드롭다운. 국가 목록은 ISO 3166-1 alpha-2 표준에 기반합니다.
  • select: 옵션 목록이 포함된 드롭다운입니다. 옵션 목록은 options 필드에 정의됩니다. 예: options: ["option 1", "option 2", {label: "option3", value: "opt3"}].

마지막으로, extra_gated_prompt 추가 필드를 사용하여 사용자에게 표시되는 메시지를 사용자 지정할 수도 있습니다.

사용자에게 회사 이름과 국가를 제공하고, 데이터셋이 비상업적 용도로만 사용됨을 확인하도록 요청하는 사용자 정의 요청 양식의 예시입니다.

---
extra_gated_prompt: "You agree to not use the dataset to conduct experiments that cause harm to human subjects."
extra_gated_fields:
  Company: text
  Country: country
  Specific date: date_picker
  I want to use this dataset for:
    type: select
    options: 
      - Research
      - Education
      - label: Other
        value: other
  I agree to use this dataset for non-commercial use ONLY: checkbox
---

일부 경우 게이트의 제목, 설명, 버튼의 기본 텍스트도 수정하고 싶을 수 있습니다. 이러한 사용 사례에서는 extra_gated_heading, extra_gated_description, extra_gated_button_content를 다음과 같이 수정할 수 있습니다:

---
extra_gated_heading: "Acknowledge license to accept the repository"
extra_gated_description: "Our team may take 2-3 days to process your request"
extra_gated_button_content: "Acknowledge license"
---

조직 구성원의 게이트 액세스

조직 하에 호스팅된 게이트된 데이터셋의 경우, 조직의 자체 멤버도 액세스 요청을 제출하도록 요구할 수 있습니다. 데이터셋 설정 페이지에서 게이팅 옵션 아래 {org}의 멤버도 액세스 게이트 적용을 활성화하세요.

이 옵션이 활성화되면 조직 구성원은 다른 사용자처럼 데이터셋에 대한 액세스를 요청해야 합니다. 다음 역할은 요청을 우회하고 직접 액세스를 유지합니다:

  • 조직 관리자
  • 리포지토리를 생성한 사용자
  • Resource Group admins, when the dataset belongs to a Resource Group

다른 모든 멤버는 액세스 요청 플로우를 거쳐야 합니다. 여기에는 read, contributor 또는 write 조직 역할을 가진 멤버와 admin 역할이 없는 Resource Group 멤버가 포함됩니다.

조직(Team & Enterprise)으로 게이트된 데이터셋 관리

Team & Enterprise 구독자는 Gating Group Collection을 만들어 컬렉션 내의 모든 모델과 데이터셋에 대한 액세스를 한 번에 허용(또는 거부)할 수 있습니다.

Gating Group Collections에 대한 자세한 내용은 전용 문서에서 확인하실 수 있습니다.

사용자로 게이트된 데이터셋에 액세스

사용자로서 게이트된 데이터셋을 사용하려면 해당 데이터셋에 대한 액세스를 요청해야 합니다. 이는 Hugging Face 사용자 계정에 로그인되어 있어야 함을 의미합니다.

액세스 요청은 브라우저에서만 수행할 수 있습니다. Hub에서 해당 데이터셋으로 이동하면 정보를 공유하도록 안내가 표시됩니다:

동의를 클릭하면, 요청 양식에 입력한 정보(해당하는 경우)를 데이터셋 작성자에게 공유하는 것에 동의하게 되며, 작성자가 수집을 선택한 경우 Hugging Face 사용자 이름과 이메일 주소도 함께 공유됩니다. 데이터셋 작성자가 액세스를 승인할지 결정하는 데 도움이 되도록, 양식의 모든 필드를 가능한 한 완전히 채워 넣으십시오.

액세스 요청이 전송된 후에는 두 가지 경우가 있습니다. 승인 메커니즘이 자동인 경우, 즉시 데이터셋 파일에 대한 액세스 권한을 얻습니다. 그렇지 않으면, 요청은 저자에 의해 수동으로 승인되어야 하며, 이는 더 많은 시간이 소요될 수 있습니다.

데이터셋 작성자는 데이터셋 접근에 대한 완전한 제어 권한을 가집니다. 특히, 승인 메커니즘과 관계없이, 그리고 요청이 이미 승인된 경우에도 사전 통보 없이 언제든지 데이터셋 접근을 차단할 수 있습니다.

파일 다운로드

게이트된 데이터셋에서 파일을 다운로드하려면 인증이 필요합니다. 브라우저에서는 계정으로 로그인되어 있는 한 자동으로 처리됩니다. 스크립트를 사용하는 경우 사용자 토큰을 제공해야 합니다. Hugging Face Python 생태계(transformers, diffusers, datasets 등)에서는 huggingface_hub 라이브러리를 사용하여 터미널에서 다음을 실행함으로써 머신을 로그인할 수 있습니다:

hf auth login

대신, 노트북이나 스크립트에서 login()을 사용하여 프로그래밍 방식으로 로그인할 수 있습니다:

>>> from huggingface_hub import login
>>> login()

라이브러리의 대부분의 로딩 메서드(from_pretrained, hf_hub_download, load_dataset 등)에서 스크립트에서 직접 token 매개변수를 제공할 수도 있습니다.

로그인 방법에 대한 자세한 내용은 로그인 가이드를 확인하세요.

EU 사용자의 액세스 제한

게이트된 데이터셋의 경우, 유럽 연합 국가의 사용자를 특별히 제한하기 위해 추가적인 액세스 제어 계층을 추가할 수 있습니다. 이는 데이터셋의 라이선스 또는 사용 조건이 EU 내 배포를 금지하는 경우에 유용합니다.

이를 활성화하려면 데이터셋 카드의 메타데이터에 extra_gated_eu_disallowed: true 속성을 추가하세요.

중요: 이 기능은 데이터셋이 이미 게이트드(gated) 상태일 때만 활성화됩니다. gated: false이거나 해당 속성이 설정되지 않은 경우 이 제한은 적용되지 않습니다.

---
license: mit
gated: true
extra_gated_eu_disallowed: true
---

시스템은 IP 주소를 기반으로 사용자의 위치를 식별합니다.

Update on GitHub