ML expert Platform Data Manager SDK
ML expert Platform Data Manager SDK는 Naver Cloud Platform의 ML expert Platform Data Manager와 호환되는 데이터셋 관리 라이브러리입니다. 이 SDK는 Hugging Face Datasets API와 완벽하게 호환되어 기존 Hugging Face 워크플로우를 그대로 사용할 수 있습니다.
🚀 주요 특징
- 🤗 Hugging Face Datasets 호환: 기존 Hugging Face Datasets API와 동일한 인터페이스 제공
- ☁️ ML expert Platform Data Manager 연동: Naver Cloud Platform의 ML expert Platform Data Manager와 완벽 연동
- 📊 다양한 데이터 형식 지원: CSV, JSON, Parquet, 이미지, 오디오, 텍스트 등 모든 형식 지원
- ⚡ 효율적인 스트리밍: 대용량 데이터셋도 메모리 효율적으로 처리
- 🔄 간편한 데이터 전처리: map, filter, select 등 강력한 데이터 변환 기능
- 🔐 보안: 안전한 API 키 기반 인증 시스템
📦 설치
pip을 사용한 설치
pip install ncloud-mlx[data-manager]
⚙️ 환경 설정
ML expert Platform Data Manager SDK를 사용하기 전에 다음 환경변수를 설정해야 합니다:
# ML expert Platform Data Manager 엔드포인트 설정
export MLX_ENDPOINT_URL="your-mlx-endpoint-url"
# API 키 설정
export MLX_APIKEY="your-api-key-here"
🏃♂️ 빠른 시작
기본 사용법
from mlx.sdk.data import load_dataset, login
from datasets import concatenate_datasets
# ML expert Platform Data Manager에 로그인
login("your-api-key")
# 로컬 데이터셋 로드
local_dataset = load_dataset("./path/to/your/data")
# ML expert Platform Data Manager에서 데이터셋 로드
remote_dataset = load_dataset("mlx-data-manager/dataset-name")
# 데이터셋 결합
combined_dataset = concatenate_datasets([
local_dataset["train"],
remote_dataset["train"]
])
# ML expert Platform Data Manager에 업로드
combined_dataset.push_to_hub("mlx-data-manager/new-dataset")
스트리밍 모드
대용량 데이터셋을 효율적으로 처리하려면 스트리밍 모드를 사용하세요:
from mlx.sdk.data import load_dataset
# 스트리밍 모드로 데이터셋 로드
dataset = load_dataset("mlx-data-manager/large-dataset", streaming=True)
# 데이터를 즉시 반복 처리
for example in dataset["train"]:
print(example)
break # 첫 번째 예제만 출력
데이터 전처리
from mlx.sdk.data import load_dataset
from transformers import AutoTokenizer
# 데이터셋 로드
dataset = load_dataset("mlx-data-manager/text-dataset")
# 텍스트 길이 추가
dataset_with_length = dataset.map(
lambda x: {"length": len(x["text"])}
)
# 토크나이제이션
tokenizer = AutoTokenizer.from_pretrained('bert-base-cased')
tokenized_dataset = dataset.map(
lambda x: tokenizer(x['text']),
batched=True
)
📖 지원하는 데이터 형식
ML expert Platform Data Manager SDK는 다양한 데이터 형식을 지원합니다:
- 텍스트: CSV, JSON, TXT, Parquet
- 이미지: JPEG, PNG, WebP, TIFF
- 오디오: WAV, MP3, FLAC
- 비디오: MP4, AVI, MOV
- 기타: Arrow, Feather, Excel
🔧 고급 기능
데이터셋 설정 및 분할
from datasets import get_dataset_config_names, get_dataset_split_names
# 사용 가능한 설정 확인
configs = get_dataset_config_names("mlx-data-manager/dataset-name")
print(f"Available configs: {configs}")
# 사용 가능한 분할 확인
splits = get_dataset_split_names("mlx-data-manager/dataset-name")
print(f"Available splits: {splits}")
태그 및 버전 관리
from huggingface_hub import create_tag, list_repo_refs
# 태그 생성
create_tag(
repo_id="mlx-data-manager/dataset-name",
repo_type="dataset",
tag="v1.0",
tag_message="First stable release"
)
# 태그 목록 확인
refs = list_repo_refs(repo_id="mlx-data-manager/dataset-name", repo_type="dataset")
print([tag.name for tag in refs.tags])
대용량 파일 업로드
from huggingface_hub import create_repo, upload_large_folder
# 저장소 생성
create_repo(
repo_id="mlx-data-manager/large-dataset",
repo_type="dataset"
)
# 대용량 폴더 업로드
upload_large_folder(
repo_id="mlx-data-manager/large-dataset",
repo_type="dataset",
folder_path="./path/to/large/dataset"
)
🔍 데이터셋 검색
from huggingface_hub import list_datasets
# 데이터셋 검색
datasets = list_datasets(search="keyword")
for dataset in datasets:
print(f"Dataset: {dataset.id}")
📊 지원하는 ML 프레임워크
ML expert Platform Data Manager SDK는 다음 ML 프레임워크와 완벽하게 호환됩니다:
- PyTorch (2.0+)
- TensorFlow (2.6+)
- JAX (3.14+)
- NumPy
- Pandas
- Polars
# PyTorch DataLoader와 함께 사용
from torch.utils.data import DataLoader
dataset = load_dataset("mlx-data-manager/dataset-name")
dataloader = DataLoader(dataset["train"], batch_size=32)
# Pandas DataFrame으로 변환
df = dataset["train"].to_pandas()
🛠️ 문제 해결
일반적인 문제들
-
환경변수 설정 오류
# 환경변수가 제대로 설정되었는지 확인 echo $MLX_ENDPOINT_URL echo $MLX_APIKEY
-
캐시 정리
$ rm -rf ~/.cache
-
네트워크 연결 문제
- 방화벽 설정 확인
- ML expert Platform Data Manager 엔드포인트 접근 가능 여부 확인
📄 라이선스
이 프로젝트는 Apache License 2.0 하에 라이선스가 부여됩니다.
🔗 관련 프로젝트
ML expert Platform Data Manager SDK로 더 효율적인 데이터셋 관리를 시작하세요! 🚀
Metadata
Release files for ncloud-mlx-data-manager 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ncloud_mlx_data_manager-1.2.0.tar.gz | 11.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ncloud_mlx_data_manager-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.5 kB
Release files / ncloud_mlx_data_manager-1.2.0.tar.gz
| Download URL | ncloud_mlx_data_manager-1.2.0.tar.gz |
|---|---|
| Size | 11.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
11b6e395bef6559439df47307103d7d1c0e90d451be1577c1284381d9c95d30e
|
|
BLAKE2b-256 checksum How to use checksums |
ffcef06ed1c8244543e7c8f807ff2e55a9baf70bb9ad699aeef25feede66a902
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"20.04","id":"focal","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / ncloud_mlx_data_manager-1.2.0-py3-none-any.whl
| Download URL | ncloud_mlx_data_manager-1.2.0-py3-none-any.whl |
|---|---|
| Size | 10.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
019676cfb8f140b123e0c4aad5b6b25ddb1ad9a5586b26e591a1a1258bc24263
|
|
BLAKE2b-256 checksum How to use checksums |
ab9f49c7812a714043634f401b6b58842dd15457b40a74f97308635f396920f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"20.04","id":"focal","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|