2026幎ç Hugging Face Transformerså®å šã¬ã€ãïŒNLPããã¡ã€ã³ãã¥ãŒãã³ã°ã颿¥å¯Ÿç
2026幎çã®Hugging Face Transformersã培åºè§£èª¬ãv5 APIã®äœ¿ãæ¹ãLoRAã«ããã¢ãã«ã®ãã¡ã€ã³ãã¥ãŒãã³ã°ãNLPãã€ãã©ã€ã³ã®æ§ç¯ãããŒã¿ãµã€ãšã³ã¹é¢æ¥å¯Ÿçãç¶²çŸ çã«åŠã¹ãŸãã

Hugging Face Transformersã©ã€ãã©ãªã¯ãèªç¶èšèªåŠçïŒNLPïŒã®åéã«ãããäºå®äžã®æšæºããŒã«ãšãªã£ãŠããŸãã2026幎çŸåšãããŒãžã§ã³5ç³»ã®ãªãªãŒã¹ã«ããããããªãé²åãéãããã®ã©ã€ãã©ãªã¯ãç ç©¶è ããå®åãšã³ãžãã¢ãŸã§å¹ åºãå±€ã«æŽ»çšãããŠããŸããæ¬èšäºã§ã¯ãTransformersã®ææ°æ©èœãå®è·µçãªãã¡ã€ã³ãã¥ãŒãã³ã°ææ³ããããŠããŒã¿ãµã€ãšã³ã¹é¢æ¥ã§é »åºãã質åã«ã€ããŠãå æ¬çã«è§£èª¬ããŸãã
Transformers v5ã§ã¯ãTensorFlowãšFlaxã®ãµããŒãã廿¢ãããPyTorchãã¡ãŒã¹ãã®ã¢ãããŒããæ¡çšãããŸãããé£ç¶ãããã³ã°ãæšè«çšã®ããŒãžãã¢ãã³ã·ã§ã³ããã«ãã¢ãŒãã«ã¢ãã«åãã®çµ±äžããã»ããµãªããžã§ã¯ããå°å ¥ãããŠããŸãããã¡ã€ã³ãã¥ãŒãã³ã°ã¯ãŒã¯ãããŒã¯UnslothãTRLãAxolotlãªã©ã®ããŒã«ãšã®äºææ§ãç¶æããŠããŸãã
Transformers v5ã®ã¢ãŒããã¯ãã£ãšã³ã¢APIã®å€æŽç¹
Transformersã©ã€ãã©ãªã®äžæ žãšãªãã®ã¯ã2017幎ã«çºè¡šããããAttention Is All You Needãè«æã§ææ¡ãããã¢ãã³ã·ã§ã³ã¡ã«ããºã ã§ãããã®ã¡ã«ããºã ã«ãããå ¥åã·ãŒã±ã³ã¹å ã®ä»»æã®äœçœ®éã®äŸåé¢ä¿ãå¹ççã«åŠç¿ã§ããããã«ãªããŸããã
v4ããv5ãžã®ç§»è¡ã¯ãã©ã€ãã©ãªåµèšä»¥æ¥æå€§ã®æ§é ç倿Žãšãªã£ãŠããŸããv4ã®5幎éã§ãæ¥æ¬¡ã€ã³ã¹ããŒã«æ°ã¯2äžãã300äžä»¥äžã«æé·ããŸããããåæã«æè¡çè² åµãèç©ãããŸãããv5ã§ã¯ãããã®èª²é¡ã«çŽæ¥åãçµãã§ããŸãã
å®åè ã«ãšã£ãŠç¹ã«éèŠãªå€æŽã¯ä»¥äžã®3ç¹ã§ãã
- PyTorchå°çšããã¯ãšã³ã â TensorFlowããã³Flaxã®ã¢ãã«å®è£ ãåé€ãããŸãããJAXãšã®äºææ§ã¯ããŒãããŒã©ã€ãã©ãªãéããŠç¶æãããŠããŸãããTransformerså ã®ãã¹ãŠã®ã¢ãã«å®çŸ©ã¯PyTorchã察象ãšããŠããŸãã
- çµ±äžããã»ããµ â ãã«ãã¢ãŒãã«ã¢ãã«ïŒèŠèŠèšèªãé³å£°èšèªïŒã¯ã以åã¯ããŒã¯ãã€ã¶ãŒãšç¹åŸŽæœåºåšã®ã¢ãããã¯ãªçµã¿åãããå¿
èŠã§ãããåäžã®
processorãªããžã§ã¯ãã§ãã¹ãŠã®ååŠçãåŠçã§ããããã«ãªã£ãŠããŸãã - çµã¿èŸŒã¿æšè«ãµãŒã㌠â
transformers serveã³ãã³ãã«ãããé£ç¶ãããã³ã°ãšããŒãžãã¢ãã³ã·ã§ã³ãåããOpenAIäºæAPIãå ¬éã§ããå€ãã®å Žåãå¥åã®ãµãŒãã³ã°ã€ã³ãã©ã¹ãã©ã¯ãã£ãäžèŠã«ãªããŸãã
ãã€ãã©ã€ã³APIã¯ãæšè«ãè¡ãæãç°¡æœãªæ¹æ³ãšããŠåŒãç¶ãæšå¥šãããŠããŸãã以äžã®ã³ãŒãã¯ãææ åæã¿ã¹ã¯ã®åºæ¬çãªäœ¿çšäŸã瀺ããŠããŸãã
# serve_model.py
# Start an OpenAI-compatible inference server from the command line
# transformers serve --model meta-llama/Llama-4-Scout-17B-16E-Instruct --compile
# Or use the Python API directly
from transformers import pipeline
# The pipeline API remains the fastest way to get predictions
classifier = pipeline("sentiment-analysis", model="distilbert-base-uncased-finetuned-sst-2-english")
results = classifier(["Transformers v5 simplifies everything.", "Legacy code migration is painful."])
print(results)
# [{'label': 'POSITIVE', 'score': 0.9998}, {'label': 'NEGATIVE', 'score': 0.9994}]ãã€ãã©ã€ã³APIã¯ããŒã¯ãã€ãŒãŒã·ã§ã³ãã¢ãã«ããŒããåŸåŠçãåäžã®é¢æ°åŒã³åºãã«é èœããŠããŸããæ¬çªã¯ãŒã¯ããŒãã§ã¯ãtransformers serveãé©åãªãããã³ã°ãšäžŠè¡åŠçã§åæ§ã®ã·ã³ãã«ããæäŸããŸãã
Hubäžã®äºååŠç¿æžã¿ã¢ãã«ã®ããŒããšäœ¿çš
Hugging Face Hubã«ã¯100äžä»¥äžã®ã¢ãã«ãã§ãã¯ãã€ã³ãããã¹ããããŠããŸãããããã®ããŒãã«ã¯2è¡ã®ã³ãŒãã§ååã§ãããã©ã®ã¢ãã«ãéžæããã©ãæ§æããããç¥ãããšããåå¿è ãšçµéšè±å¯ãªå®åè ãåãããã€ã³ããšãªããŸãã
AutoModelã¯ã©ã¹ã¯ãã¢ãã«ã«ãŒãã®ã¡ã¿ããŒã¿ããæ£ããã¢ãŒããã¯ãã£ãæ€åºããŸããããã«ãããBERTãGPTãT5ãLLaMAããã®ä»ã®ã¢ãŒããã¯ãã£ã«å¯ŸããŠåãããŒãã³ãŒããæ©èœããŸãã
# load_model.py
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
# Load tokenizer and model â architecture detected automatically
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased", num_labels=3)
# Tokenize input text with padding and truncation
inputs = tokenizer(
"Hugging Face makes NLP accessible.",
return_tensors="pt", # Return PyTorch tensors
padding=True,
truncation=True,
max_length=128
)
# Run inference with no gradient computation
with torch.no_grad():
outputs = model(**inputs)
predictions = torch.softmax(outputs.logits, dim=-1)
print(f"Class probabilities: {predictions}")from_pretrainedã¡ãœããã¯ãæåã®åŒã³åºãæã«ã¢ãã«ã®éã¿ãèšå®ãããŒã¯ãã€ã¶ãŒã®èªåœãããŠã³ããŒãããããŒã«ã«ã«ãã£ãã·ã¥ããŸãã以éã®åŒã³åºãã§ã¯ããããã¯ãŒã¯ãªã¯ãšã¹ããªãã§ãã£ãã·ã¥ããããŒããããŸãã
NLPãã€ãã©ã€ã³ïŒããŒã¯ãã€ãŒãŒã·ã§ã³ããæšè«ãŸã§
Transformersã«ããããã¹ãŠã®NLPã¿ã¹ã¯ã¯ãåã3ã¹ããããã¿ãŒã³ã«åŸããŸããå ¥åãããŒã¯ãã€ãºããã¢ãã«ã«éããåºåããã³ãŒãããŸãããã®ãããŒãçè§£ããããšã¯ãæ¬çªã·ã¹ãã ã®ãããã°ãTransformerã¢ãŒããã¯ãã£ã«é¢ãã颿¥è³ªåãžã®åçã«äžå¯æ¬ ã§ãã
ããŒã¯ãã€ãŒãŒã·ã§ã³ã¯ãçããã¹ããã¢ãã«ãçè§£å¯èœãªæ°å€IDã«å€æããåŠçã§ããã¢ãã«ãã¡ããªãŒã«ãã£ãŠç°ãªãããŒã¯ãã€ãŒãŒã·ã§ã³æŠç¥ã䜿çšãããŸããBERTã¯WordPieceããGPTã¢ãã«ã¯BPEããT5ã¯SentencePieceã䜿çšããŠããŸãã
# tokenization_demo.py
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
text = "Transformers handle tokenization automatically."
# Step-by-step tokenization
tokens = tokenizer.tokenize(text) # Split into subwords
print(f"Tokens: {tokens}")
# ['transformers', 'handle', 'token', '##ization', 'automatically', '.']
ids = tokenizer.convert_tokens_to_ids(tokens) # Convert to numeric IDs
print(f"IDs: {ids}")
# [19081, 5765, 19204, 6032, 8073, 1012]
# The encode method does both steps plus adds special tokens
encoded = tokenizer.encode(text, add_special_tokens=True)
print(f"Encoded with special tokens: {encoded}")
# [101, 19081, 5765, 19204, 6032, 8073, 1012, 102]
# 101 = [CLS], 102 = [SEP]##izationããŒã¯ã³ã¯ããµãã¯ãŒãããŒã¯ãã€ãŒãŒã·ã§ã³ã®äŸã瀺ããŠããŸããçšãªåèªã¯æ¢ç¥ã®ãµãã¯ãŒãã«åå²ãããäºååŠç¿æã«èŠãããšã®ãªãèªåœã«å¯ŸããŠãæåã¬ãã«ã®ãã©ãŒã«ããã¯ã«é ŒãããšãªãåŠçã§ããŸãã
LoRAãšTrainer APIã«ãããã¡ã€ã³ãã¥ãŒãã³ã°
å€§èŠæš¡ã¢ãã«ã®ãã«ãã¡ã€ã³ãã¥ãŒãã³ã°ã«ã¯èšå€§ãªGPUã¡ã¢ãªãå¿ èŠã§ãã70åãã©ã¡ãŒã¿ã®ã¢ãã«ã¯FP32ã§éã¿ã ãã§çŽ28GBãå¿ èŠãšããŸããLoRAïŒLow-Rank AdaptationïŒã¯ãäºååŠç¿æžã¿ã®éã¿ãåçµããåå±€ã«å°ããªåŠç¿å¯èœãªè¡åãæ³šå ¥ããããšã§ãã¡ã¢ãªèŠä»¶ã60ã80%åæžããŸãã
PEFTã©ã€ãã©ãªã¯TransformersãšçŽæ¥çµ±åãããLoRAãã¡ã€ã³ãã¥ãŒãã³ã°ã容æã«å®çŸããŸãã
Data Science & MLã®é¢æ¥å¯Ÿçã¯ã§ããŠããŸããïŒ
ã€ã³ã¿ã©ã¯ãã£ããªã·ãã¥ã¬ãŒã¿ãŒãflashcardsãæè¡ãã¹ãã§ç·Žç¿ããŸãããã
# finetune_lora.py
from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments, Trainer
from peft import LoraConfig, get_peft_model, TaskType
from datasets import load_dataset
# Load base model and tokenizer
model_name = "Qwen/Qwen3-0.6B"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype="auto")
# Configure LoRA â only 0.5-2% of parameters become trainable
lora_config = LoraConfig(
task_type=TaskType.CAUSAL_LM,
r=16, # Rank of the low-rank matrices
lora_alpha=32, # Scaling factor
lora_dropout=0.05, # Dropout for regularization
target_modules=["q_proj", "v_proj"], # Which attention layers to adapt
)
# Wrap the model with LoRA adapters
model = get_peft_model(model, lora_config)
model.print_trainable_parameters()
# trainable params: 1,572,864 || all params: 631,000,000 || trainable%: 0.25
# Load and tokenize dataset
dataset = load_dataset("tatsu-lab/alpaca", split="train[:5000]")
def tokenize(example):
return tokenizer(example["text"], truncation=True, max_length=512, padding="max_length")
tokenized = dataset.map(tokenize, batched=True, remove_columns=dataset.column_names)
# Configure training
training_args = TrainingArguments(
output_dir="./lora-qwen",
num_train_epochs=3,
per_device_train_batch_size=4,
gradient_accumulation_steps=4, # Effective batch size = 16
learning_rate=2e-4,
bf16=True, # Use bfloat16 mixed precision
logging_steps=50,
save_strategy="epoch",
)
# Train
trainer = Trainer(model=model, args=training_args, train_dataset=tokenized)
trainer.train()LoRAã¢ããã¿ãŒã¯ããŒã¹ã¢ãã«ãšã¯å¥ã«ä¿åãããŸãïŒéåžž10ã50MB察æ°GBïŒãæšè«æã«ããŒã¹ã®éã¿ãåèªã¿èŸŒã¿ããã«è€æ°ã®ã¢ããã¿ãŒã亀æã§ãããããåäžã®ãããã€ã¡ã³ãããè€æ°ã®ç¹åã¢ãã«ããµãŒãã³ã°ããå Žåã«LoRAã¯ç¹ã«æçšã§ãã
éååã«ããå¹ççãªãããã€ã¡ã³ã
éååã¯ãéã¿ã32ãããæµ®åå°æ°ç¹ããããäœã粟床ã®ãã©ãŒãããã«å€æããããšã§ãã¢ãã«ãµã€ãºãšæšè«ã¬ã€ãã³ã·ãåæžããŸãã2026幎ã«ãããŠæãå®çšçãªã¢ãããŒãã¯ãbitsandbytesã䜿çšãã4ãããéååã§ã70åãã©ã¡ãŒã¿ã¢ãã«ãçŽ4GBã®GPUã¡ã¢ãªã«åããããšãã§ããŸãã
# quantize_model.py
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
import torch
# Configure 4-bit quantization
quant_config = BitsAndBytesConfig(
load_in_4bit=True, # Use 4-bit precision
bnb_4bit_compute_dtype=torch.bfloat16, # Compute in bfloat16
bnb_4bit_quant_type="nf4", # NormalFloat4 quantization
bnb_4bit_use_double_quant=True, # Quantize the quantization constants
)
# Load quantized model â fits in ~4GB VRAM instead of ~14GB
model = AutoModelForCausalLM.from_pretrained(
"mistralai/Mistral-7B-Instruct-v0.3",
quantization_config=quant_config,
device_map="auto", # Automatically distribute across available GPUs
)
tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-Instruct-v0.3")
# Inference works identically to the non-quantized model
inputs = tokenizer("Explain quantization in one sentence:", return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=50)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))4ãããéååã¯ãæšæºãã³ãããŒã¯ã§éåžž1%æªæºã®å質äœäžã§ã¡ã¢ãªäœ¿çšéã75%åæžããŸããLoRAãšçµã¿åãããããšã§ããã«ãGPUã»ããã¢ãããæ¬æ¥å¿ èŠãªã¢ãã«ãåäžã®ã³ã³ã·ã¥ãŒããŒGPUã§ãã¡ã€ã³ãã¥ãŒãã³ã°ã§ããããã«ãªããŸãããã®ææ³ã¯QLoRAãšããŠç¥ãããŠããŸãã
Hugging Face颿¥ã§ãããã質åãšåç
2026幎ã®ããŒã¿ãµã€ãšã³ã¹é¢æ¥ã§ã¯ãçè«ççè§£ã«å ããŠå®è·µçãªTransformersã®ç¥èããŸããŸãåãããããã«ãªã£ãŠããŸãã以äžã§ã¯ãMLãšã³ãžãã¢ããã³ããŒã¿ãµã€ãšã³ãã£ã¹ãè·ã®æè¡é¢æ¥ã§é »åºãã質åãåãäžããŸãã
颿¥å®ã¯éåžžã3ã€ã®åéãæãäžããŸãã(1) ã¢ãŒããã¯ãã£ç¥è â ã»ã«ãã¢ãã³ã·ã§ã³ãäœçœ®ãšã³ã³ãŒãã£ã³ã°ããšã³ã³ãŒããŒvsãã³ãŒããŒã(2) å®è·µã¹ãã« â ãã¡ã€ã³ãã¥ãŒãã³ã°ãéååãã¢ãã«éžæã(3) ã·ã¹ãã èšèš â ãµãŒãã³ã°ããããã³ã°ãã¡ã¢ãªæé©åã
ã»ã«ãã¢ãã³ã·ã§ã³ãšã¯äœãããã«ããããã¢ãã³ã·ã§ã³ã¯ã©ã®ããã«æ¡åŒµããã
ã»ã«ãã¢ãã³ã·ã§ã³ã¯ãã·ãŒã±ã³ã¹å ã®åããŒã¯ã³ãšä»ã®ãã¹ãŠã®ããŒã¯ã³ãšã®é¢ä¿ã«åºã¥ããŠå é衚çŸãèšç®ããä»çµã¿ã§ããåããŒã¯ã³ã«å¯ŸããŠãã¢ãã«ã¯3ã€ã®ãã¯ãã«ïŒQueryãKeyãValueïŒãçæããŸãã2ã€ã®ããŒã¯ã³éã®ã¢ãã³ã·ã§ã³ã¹ã³ã¢ã¯ãäžæ¹ã®Queryãšä»æ¹ã®Keyã®å ç©ãKey次å ã®å¹³æ¹æ ¹ã§ã¹ã±ãŒãªã³ã°ããsoftmaxãéãããã®ã§ããåºåã¯Valueãã¯ãã«ã®å éåãšãªããŸãã
ãã«ããããã¢ãã³ã·ã§ã³ã¯ããã®ããã»ã¹ãç°ãªãåŠç¿æžã¿å°åœ±ã§äžŠåã«è€æ°åå®è¡ããŸããåãããããã¯ç°ãªãçš®é¡ã®é¢ä¿ãåŠç¿ã§ããŸã â ãããããã¯æ§ææ§é ããå¥ã®ãããã¯å ±åç §ããããã«å¥ã®ãããã¯äœçœ®çè¿æ¥æ§ãåŠç¿ããŸããåºåã¯çµåãããã¢ãã«æ¬¡å ã«åå°åœ±ãããŸãã
Transformerã«äœçœ®ãšã³ã³ãŒãã£ã³ã°ãå¿ èŠãªçç±ã¯
RNNãLSTMãšã¯ç°ãªããTransformerã¯ãã¹ãŠã®ããŒã¯ã³ãé æ¬¡ã§ã¯ãªãåæã«åŠçããŸããäœçœ®æ å ±ããªããã°ãã¢ãã«ã¯å ¥åãé åºã®æŠå¿µã®ãªãããŒã¯ã³ã®éåãšããŠæ±ããŸããäœçœ®ãšã³ã³ãŒãã£ã³ã°ïŒåºå®æ£åŒŠé¢æ°ãŸãã¯åŠç¿æžã¿åã蟌ã¿ïŒã¯ãæåã®ã¢ãã³ã·ã§ã³å±€ã®åã«ããŒã¯ã³åã蟌ã¿ã«è¿œå ãããŸããLLaMAãQwenãªã©ã®ææ°ã¢ãã«ã¯ã絶察äœçœ®ã§ã¯ãªãçžå¯Ÿäœçœ®ããšã³ã³ãŒãããRotary Position EmbeddingsïŒRoPEïŒã䜿çšããŠãããåŠç¿æããé·ãã·ãŒã±ã³ã¹ãžã®æ±åæ§èœãåäžããŠããŸãã
ãšã³ã³ãŒããŒå°çšããã³ãŒããŒå°çšããšã³ã³ãŒããŒã»ãã³ãŒããŒã¢ãã«ã®éãã¯
| ã¢ãŒããã¯ã㣠| ä»£è¡šäŸ | æé©ãªçšé | ã¢ãã³ã·ã§ã³ãã¿ãŒã³ |
|---|---|---|---|
| ãšã³ã³ãŒããŒå°çš | BERT, RoBERTa, DeBERTa | åé¡ãNERãåã蟌㿠| åæ¹åïŒå šæèãåç §ïŒ |
| ãã³ãŒããŒå°çš | GPT, LLaMA, Mistral, Qwen | ããã¹ãçæããã£ãããã³ãŒã | å æçïŒå·Šããå³ã®ã¿ïŒ |
| ãšã³ã³ãŒããŒã»ãã³ãŒã㌠| T5, BART, mBART | 翻蚳ãèŠçŽ | ãšã³ã³ãŒããŒãšãã³ãŒããŒéã®ã¯ãã¹ã¢ãã³ã·ã§ã³ |
ãšã³ã³ãŒããŒå°çšã¢ãã«ã¯ãåæ¹åã¢ãã³ã·ã§ã³ã«ããåããŒã¯ã³ãä»ã®ãã¹ãŠã®ããŒã¯ã³ã«ã¢ãã³ãã§ãããããçè§£ã¿ã¹ã¯ã«åªããŠããŸãããã³ãŒããŒå°çšã¢ãã«ã¯ãå æãã¹ãã³ã°ã«ããèªç¶ã«äžåºŠã«1ããŒã¯ã³ãçæãããããçæã¿ã¹ã¯ãæ¯é ããŠããŸãããšã³ã³ãŒããŒã»ãã³ãŒããŒã¢ãã«ã¯äž¡æ¹ã®èœåãçµã¿åãããŠããŸãããããåçŽãªã¢ãŒããã¯ãã£ã§åçã®çµæãéæãããã³ãŒããŒå°çšã¢ãã«ã«å€§ããåã£ãŠä»£ããããŠããŸãã
ã¢ãã«ã®ãµã€ãºãšèœåãæ··åããåè£è ãå€ãèŠãããŸããé©åã«ãã¡ã€ã³ãã¥ãŒãã³ã°ããã30åãã©ã¡ãŒã¿ã¢ãã«ããç¹å®ã®ã¿ã¹ã¯ã«ãããŠæ±çšã®700åãã©ã¡ãŒã¿ã¢ãã«ãäžåãããšã¯çãããããŸããã颿¥å®ã¯ãããå°ããç¹åãããã¢ãã«ãããè¯ããšã³ãžãã¢ãªã³ã°äžã®éžæãšãªãå Žåãçè§£ããŠããåè£è ãè©äŸ¡ããŸãã
Hugging Faceããã³NLP颿¥ãžã®æºå
NLPã«ç¹åããããŒã¿ãµã€ãšã³ã¹é¢æ¥ã®æè¡æºåã¯ãçŽç²ã«çè«çãªåŠç¿ããããTransformersã©ã€ãã©ãªã䜿çšãããã³ãºãªã³ç·Žç¿ã广çã§ããæã广çãªã¢ãããŒãã¯3ã€ã®èŠçŽ ãçµã¿åããããã®ã§ãã
- ãšã³ãããŒãšã³ããããžã§ã¯ãã®æ§ç¯ â ææ åé¡åšãåºæè¡šçŸèªèåšãèŠçŽãã€ãã©ã€ã³ãªã©ããããããååŠçãã¢ãã«éžæãè©äŸ¡ã«é¢ãã倿ãå¿ èŠãšãã颿¥å®ãçŽæ¥æãäžãããã€ã³ããšãªããŸãã
- ã¢ãã«ã«ãŒãã®ç²Ÿèª â Hubã®ã¢ãã«ã«ãŒãã«ã¯ãåŠç¿ããŒã¿ãæ³å®ãããäœ¿çšæ¹æ³ãå¶éäºé ãè©äŸ¡çµæãèšèŒãããŠããŸãã颿¥å®ã¯ãæãããŠã³ããŒããããŠãããã§ãã¯ãã€ã³ããç²ç®çã«éžã¶ã®ã§ã¯ãªããã¢ãã«ã«ãŒããæ¹å€çã«è©äŸ¡ã§ããåè£è ãæåŸ ããŠããŸãã
- ã¡ã¢ãªãšã¬ã€ãã³ã·ã®ãããã¡ã€ãªã³ã° â ç°ãªãããŒããŠã§ã¢æ§æã§ã®FP32ãFP16ãBF16ãINT4æšè«éã®ãã¬ãŒããªããçè§£ããããšããã·ãã¢åè£è ãšãžã¥ãã¢ãåãããã€ã³ããšãªããŸãã
ããã«æ·±ãåŠç¿ã®ããã«ã以äžã®ãªãœãŒã¹ã掻çšããããšããå§ãããŸããSharpSkill NLPããã³Hugging Faceç·Žç¿ã¢ãžã¥ãŒã«ã§ã¯ã詳现ãªè§£èª¬ä»ãã®é¢æ¥è³ªåãéããŠãããã®ãããã¯ãã«ããŒããŠããŸããTransformerã¢ãã³ã·ã§ã³ã¡ã«ããºã ããã³ãã£ãŒãã©ãŒãã³ã°åºç€ããäœç³»çãªæºåãã¹ãæäŸããŠããŸãã
ä»ããç·Žç¿ãå§ããŸãããïŒ
颿¥ã·ãã¥ã¬ãŒã¿ãŒãšæè¡ãã¹ãã§ç¥èããã¹ãããŸãããã
ãŸãšã
- Transformers v5ã¯ãPyTorchãäžå¿ã«ã©ã€ãã©ãªãçµ±åããã¬ã¬ã·ãŒããã¯ãšã³ããåé€ãã
transformers serveã«ããæ¬çªæšè«çšã®çµã¿èŸŒã¿ãµãŒãã³ã°ãå°å ¥ããŠããŸãã AutoModelããã³ãã€ãã©ã€ã³APIã¯ããŒãããå®çšçãªäºæž¬ãžã®æçãã¹ã§ãã2è¡ã®ã³ãŒãã§Hubäžã®100äžä»¥äžã®ã¢ãã«ãããŒãã§ããŸãã- PEFTã«ããLoRAãã¡ã€ã³ãã¥ãŒãã³ã°ã¯ãã»ãšãã©ã®ã¿ã¹ã¯ã§ãã«ãã¡ã€ã³ãã¥ãŒãã³ã°å質ã®1ã2%以å ãç¶æããªãããGPUã¡ã¢ãªèŠä»¶ã60ã80%åæžããŸãã
- bitsandbytesã«ãã4ãããéååã¯ã70åãã©ã¡ãŒã¿ã¢ãã«ã4GBã®VRAMã«åããQLoRAã¯äž¡æ¹ã®æè¡ãçµã¿åãããŠã³ã³ã·ã¥ãŒããŒGPUã§ã®ãã¡ã€ã³ãã¥ãŒãã³ã°ãå®çŸããŸãã
- 颿¥è³ªåã¯3ã€ã®åéã«éäžããŠããŸãïŒã¢ãŒããã¯ãã£ç¥èïŒã»ã«ãã¢ãã³ã·ã§ã³ãäœçœ®ãšã³ã³ãŒãã£ã³ã°ããšã³ã³ãŒããŒvsãã³ãŒããŒïŒãå®è·µã¹ãã«ïŒãã¡ã€ã³ãã¥ãŒãã³ã°ãéååãã¢ãã«éžæïŒãã·ã¹ãã èšèšïŒåæ£åŠç¿ããµãŒãã³ã°ãã¡ã¢ãªæé©åïŒã
- ããŒã¯ãã€ãŒãŒã·ã§ã³ã®å éšæ§é ïŒWordPieceãBPEãSentencePieceïŒãçè§£ããããŒã¯ãã€ã¶ãŒã®åäœããããã°ã§ããããšã¯ã颿¥ã«ãããŠéå°è©äŸ¡ãããã¡ãªããéèŠãªå·®å¥åèŠå ã§ãã
ä»ããç·Žç¿ãå§ããŸãããïŒ
颿¥ã·ãã¥ã¬ãŒã¿ãŒãšæè¡ãã¹ãã§ç¥èããã¹ãããŸãããã
Data Science & ML ã®ãã°ãèŠã€ããããŸãã
å®éã®ã³ãŒããé ãããã°ã1æ¥1åãã¢ã«ãŠã³ããªãã§è©ŠããŸãã

å·ç
Anthony Fillion-MailletSharpSkill 嵿¥è
10 幎以äžãã«ã¹ã¿ãã¯éçºã«æºãã£ãŠããŸããSharpSkill ãéå¶ããããã§å ¬éãããå 容ã«è²¬ä»»ãè² ã£ãŠããŸãã
2026幎5æ19æ¥ æŽæ°
ã¿ã°
å ±æ
é¢é£èšäº

2026幎ã®MLOps: MLflowãã¢ãã«ã¬ãžã¹ããªãæè¡é¢æ¥ã®è³ªå
MLã©ã€ããµã€ã¯ã«ãMLflowã«ããå®éšè¿œè·¡ãã¢ãã«ã¬ãžã¹ããªã®ææ Œããããã€ãã¿ãŒã³ãããªããç£èŠãã·ã¹ãã èšèšãæ±ã2026幎åãã®MLOps颿¥è³ªåãPythonã³ãŒããšåçäŸä»ãã§ãã

2026幎ç ããŒã¿ãµã€ãšã³ã¹é¢æ¥ã®é »åºè³ªå25éž
çµ±èšåŠãæ©æ¢°åŠç¿ãç¹åŸŽéãšã³ãžãã¢ãªã³ã°ããã£ãŒãã©ãŒãã³ã°ãã·ã¹ãã èšèšã«é¢ããããŒã¿ãµã€ãšã³ã¹é¢æ¥ã®éèŠè³ªå25åãPythonã³ãŒãä»ãã§è©³ãã解説ã

PyTorch vs TensorFlow 2026幎æ¯èŒïŒæé©ãªãã£ãŒãã©ãŒãã³ã°ãã¬ãŒã ã¯ãŒã¯ã®éžã³æ¹
2026幎ã®PyTorch vs TensorFlowãæ§èœãã³ãããŒã¯ããããã€ããšã³ã·ã¹ãã ãéçºè äœéšã®èгç¹ããæ¯èŒãããããžã§ã¯ãã«æé©ãªãã£ãŒãã©ãŒãã³ã°ãã¬ãŒã ã¯ãŒã¯ãéžã¶ããã®ã¬ã€ãã§ãã