아니, 전혀 낭비가 아니었어

발행: (2026년 4월 3일 오후 08:21 GMT+9)
9 분 소요
원문: Dev.to

Source: Dev.to

위 링크에 포함된 전체 텍스트를 제공해 주시면, 해당 내용을 한국어로 번역해 드리겠습니다.

소개

이 기사에서는 24 GB PolyGlotFake 멀티모달 딥페이크 데이터셋을 Kaggle에 성공적으로 업로드하여 보다 쉽고 비대화형 실험을 할 수 있게 하는 방법을 소개합니다.

PolyGlotFake 데이터셋의 원본 GitHub 저장소는 다음과 같습니다:

https://github.com/PolyGlotFake/PolyGlotFake

PolyGlotFake 데이터셋 개요

PolyGlotFake은 딥‑페이크 탐지의 과제를 해결하기 위해 설계된 다국어, 다중모달 딥‑페이크 데이터셋입니다. 7개 언어에 걸쳐 조작된 오디오와 비주얼 구성 요소를 포함하며, 고급 텍스트‑투‑스피치, 음성‑클로닝, 립‑싱크 기술을 사용합니다.

다운로드 링크 (Google Drive):
https://drive.google.com/file/d/1aBWLii‑TbrpKNLSTwpmjqu98eKovWLxF/view?usp=drive_link

정량적 비교

데이터셋발표 연도조작된 모달리티다국어 지원실제 비디오가짜 비디오총 비디오 수조작 방법기술 라벨링속성 라벨링
UADFV2018V아니오4949981아니오아니오
TIMI2018V아니오3206409602아니오아니오
FF++2019V아니오1 0004 0005 0004아니오아니오
DFD2019V아니오3603 0683 4315아니오아니오
DFDC2020A/V아니오23 654104 500128 1548아니오아니오
DeeperForensics2020V아니오50 00010 00060 0001아니오아니오
Celeb‑DF2020V아니오5905 6396 2291아니오아니오
FFIW2020V아니오10 00010 00020 0001

전체 표는 GitHub에서 확인하세요.

저장소의 README에는 데이터셋을 다운로드할 수 있는 동일한 Drive 링크가 포함되어 있습니다.

실패한 시도에서 얻은 교훈

제가 처음에 “wild” 딥페이크 데이터셋을 Kaggle에 업로드하려고 시도했을 때, tar 파일을 중첩된 이미지 폴더로 풀고 다음 경로를 통해 업로드하려 했습니다:

Google Drive → GCS bucket → Kaggle

그 접근 방식이 실패한 이유는 다음과 같습니다:

  • 로컬 머신에 네 개의 4 TB tar 파일(​train‑real, train‑fake, test‑real, test‑fake​)을 보관할 충분한 저장 공간이 없었습니다.
  • 수천 개의 개별 파일을 업로드하는 것은 속도가 느리고 오류가 발생하기 쉽습니다.

PolyGlotFake 성공적인 워크플로우

1. RAR 아카이브를 Google Drive에 저장

데이터셋은 단일 RAR 아카이브로 제공되며, 대용량 파일 전송에 이상적입니다.

2. Colab 노트북 설정

# Authenticate Google Cloud
from google.colab import auth
auth.authenticate_user()

project_id = 'polyglotfake'
!gcloud config set project {project_id}
!gsutil ls

3. Drive에서 24 GB RAR을 Colab으로 다운로드

!gdown --id 1cUlwVi8Wu6MmDu8Mh2lXTIPJFz63KOtd

4. gcsfuse를 사용해 GCS 버킷 마운트

# Install gcsfuse
echo "deb http://packages.cloud.google.com/apt gcsfuse-bionic main" \
    > /etc/apt/sources.list.d/gcsfuse.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
apt -qq update
apt -qq install gcsfuse

# Create a mount point
mkdir my_gcs_mount

5. RAR을 버킷에 복사

%cp /content/goblin/PolyGlotFake.rar /content/my_gcs_mount/polyglotfake/

이 단계는 3시간 이상 걸렸습니다.

6. 버킷을 공개 설정

gcloud storage buckets add-iam-policy-binding gs://pgfake \
    --member=allUsers \
    --role=roles/storage.objectViewer

공개 URL은 Google Cloud Console에서 복사할 수 있습니다.

7. Kaggle에 업로드

  1. https://www.kaggle.com/datasets/?new=true 로 이동합니다.
  2. 소스로 “Link” 를 선택합니다.
  3. 공개 GCS URL을 붙여넣습니다.

업로드는 약 2시간이 걸렸습니다.

결과: 데이터셋이 이제 공개적으로 이용 가능합니다
https://www.kaggle.com/datasets/debajyatidey/polyglotfake.

지원 파일

  • 실제 비디오 메타데이터 (CSV) – Kaggle 데이터셋에서 이용 가능.
  • 가짜 비디오 메타데이터 – 여기서 표시하기엔 너무 큼.

시각화 (Google Looker Studio)

차트설명
![언어별 연령 분포]언어별 연령 분포 (각 언어를 사용하는 피험자).
![성별에 따른 연령]성별에 따른 피험자 연령 분포.
![성비]모든 실제 비디오의 성비.
![딥페이크 분포]딥페이크 비디오가 어떻게 조직되고 배포되는지를 보여주는 다양한 차트.

모든 시각화는 Google Looker Studio를 사용해 만들었습니다.

마무리 생각

많은 실패 시도, 파손된 파이프라인, 저장 제한을 겪은 후, 이 접근법이 결국 성공했습니다. 핵심은 데이터셋을 수천 개의 파일로 쪼개는 것이 아니라, 단일 아카이브로 유지하고 클라우드 스토리지 서비스가 전송을 처리하도록 하는 것이었습니다.

Lesson: 데이터 엔지니어링은 머신러닝의 부가 퀘스트가 아니라, 바로 게임 자체입니다.
PolyGlotFake와 같은 데이터셋은 의도적으로 복잡하게 설계되었습니다(다국어, 다중모달). 이를 단순하고 견고한 파이프라인으로 다루면 보상이 따릅니다.

이는 실제 딥페이크 과제를 반영하기 때문입니다. 접근성을 높이는 것은 단순히 편리함을 넘어서, 누군가가 실험하고, 반복하며, 실제 연구를 수행하는 속도에 직접적인 영향을 미칩니다.

그리고 그것이 바로 핵심입니다.

이제 누군가가 Kaggle 노트북을 바로 띄우고, 데이터셋을 연결해, 설정에 며칠을 낭비하지 않고 몇 분 안에 실험을 시작할 수 있다면, 이 모든 과정이 가치 있었다는 말이죠.

다시 할까요?
하지만 이제는 확실히 알겠어요 — 그냥 힘들게 하고 있었던 거죠.

그래서, 네, … 이제 끝입니다!

언제든지 저와 연결해 주세요. :)

읽어 주셔서 감사합니다! 🙏🏻
Debajyati Dey가 💚 로 작성했습니다.

팔로우하기

Debajyati Dey – 웹 개발자, 프리랜스 기술 작가, 캐주얼 딥러닝 애호가, 새로운 기술을 다루고 문서화하는 데 항상 열정적입니다.

📧 협업을 원하시면 이메일 주세요.

즐거운 코딩 🧑🏽‍💻👩🏽‍💻! 좋은 하루 보내세요! 🚀

0 조회
Back to Blog

관련 글

더 보기 »