pytorch-accelerated
pytorch-accelerated এটা হালকা-ফুলকা গ্ৰন্থাগাৰ যি PyTorch মডেলৰ প্ৰশিক্ষণ প্ৰক্ৰিয়া তীব্ৰ কৰিবলৈ
এটা সৰু, কিন্তু বিস্তৃত প্ৰশিক্ষণ লুপ প্ৰদান কৰে - যি এটা কেৱল Trainer
বস্তুৰ ভিতৰত সন্নিবিষ্ট - যি বেছিভাগ ব্যৱহাৰৰ ক্ষেত্ৰত যথেষ্ট নমনীয়, আৰু বিভিন্ন হাৰ্ডৱেৰ
বিকল্প ব্যৱহাৰ কৰিবলৈ সক্ষম, একো কোড পৰিৱৰ্তন নকৰাকৈ।
pytorch-accelerated এটা সুসংগঠিত বৈশিষ্ট্য সংগ্ৰহ প্ৰদান কৰে, আৰু সহজতা আৰু স্বচ্ছতা-ৰ ওপৰত গুৰুত্ব আৰোপ কৰে,
ব্যৱহাৰকাৰীসকলক ঠিক কি হৈছে তাৰ গভীৰতাত বুজিবলৈ সক্ষম কৰাৰ বাবে, কিন্তু তেওঁলোকে নিজে বয়লাৰপ্লেট লিখি আৰু ৰক্ষা নকৰিব লাগে!
মূল বৈশিষ্ট্যসমূহ:
- এটা সহজ আৰু সীমিত, কিন্তু সহজে কাষ্টমাইজ কৰিব পৰা, ট্ৰেইনিং লুপ, যি সোজা ক্ষেত্ৰসমূহত out of the box কাম কৰিব;
- ডিভাইচ প্লেসমেন্ট, মিক্সড-প্ৰিসিশন, DeepSpeed ইন্টেগ্ৰেশ্বন, মাল্টি-GPU আৰু ডিষ্ট্ৰিবিউটেড ট্ৰেইনিং কোনো কোড পৰিবৰ্তন নোহোৱাকৈ হেণ্ডল কৰে।
- শুদ্ধ PyTorch উপাদান ব্যৱহাৰ কৰে, কোনো অতিৰিক্ত পৰিবৰ্তন বা ৰ্যাপাৰ নোহোৱা, আৰু সহজে আন্তঃপ্ৰচলিত
- এটা সৰু, সৰল API নিশ্চিত কৰে যে বিদ্যমান PyTorch ব্যৱহাৰকাৰীসকলৰ বাবে শিকাৰ বক্রতা ন্যূনতম হয়।
pytorch-accelerated গর্বেৰে আৰু স্বচ্ছভাৱে
Hugging Face Accelerateৰ ওপৰত নিৰ্মিত, যি
ডিভাইচসমূহৰ মাজত ডেটা স্থানান্তৰ আৰু ট্ৰেইনিং কনফিগাৰেচন লঞ্চ কৰাৰ বাবে দায়ী। Trainer কাষ্টমাইজ কৰা, বা ট্ৰেইনিং লঞ্চ কৰাৰ সময়ত,
ব্যৱহাৰকাৰীসকলক Accelerate documentation
ত পৰামর্শ লোৱা উৎসাহিত কৰা হয় যাতে সকলো উপলভ্য বিকল্প বুজিব পাৰে; Accelerate সুবিধাজনক ফাংশনসমূহ প্ৰদান কৰে যেনে টেন্সৰ সংগ্ৰহ
আৰু গ্ৰেডিয়েন্ট ক্লিপিং, যাৰ ব্যৱহাৰ pytorch-accelerated
examples ফোল্ডাৰত দেখা যায়!
এই লাইব্ৰেৰীৰ পিছে থকা উদ্দেশ্যসমূহ আৰু এটা বিস্তৃত আৰম্ভণি গাইডৰ বিষয়ে অধিক জানিবলৈ, এই ব্লগ পোষ্ট চাওক।
স্থাপন
pytorch-accelerated pipৰ পৰা তলৰ কমাণ্ড ব্যৱহাৰ কৰি স্থাপন কৰিব পাৰি:
pip install pytorch-accelerated
উদাহৰণসমূহ চলাবলৈ প্ৰয়োজনীয় পেকেজসমূহ ডিফ'ল্টভাৱে সংলগ্ন কৰা হোৱা নাই যাতে পেকেজটো সকলোতকৈ সৰু হ’ব পাৰে। এই পেকেজসমূহ সংলগ্ন কৰিবলৈ, আপুনি তলত দিয়া আদেশ ব্যৱহাৰ কৰিব পাৰে:pip install pytorch-accelerated[examples]দ্ৰুত আৰম্ভণি
আৰম্ভ কৰিবলৈ, মাত্ৰ Trainer নামৰ pytorch-accelerated ইম্প'ৰ্ট কৰক আৰু ব্যৱহাৰ কৰক, তলৰ উদাহৰণত দেখুওৱা অনুসৰি,
আৰু তাৰ পিছত তলত বৰ্ণনা কৰা
accelerate CLI
ব্যৱহাৰ কৰি প্ৰশিক্ষণ আৰম্ভ কৰক।
# examples/core/train_mnist.py
import osfrom torch import nn, optim
from torch.utils.data import random_split
from torchvision import transforms
from torchvision.datasets import MNIST
from pytorch_accelerated import Trainer
class MNISTModel(nn.Module):
def __init__(self):
super().__init__()
self.main = nn.Sequential(
nn.Linear(in_features=784, out_features=128),
nn.ReLU(),
nn.Linear(in_features=128, out_features=64),
nn.ReLU(),
nn.Linear(in_features=64, out_features=10),
)
def forward(self, input):
return self.main(input.view(input.shape[0], -1))
def main():
dataset = MNIST(os.getcwd(), download=True, transform=transforms.ToTensor())
train_dataset, validation_dataset, test_dataset = random_split(dataset, [50000, 5000, 5000])
model = MNISTModel()
optimizer = optim.SGD(model.parameters(), lr=0.001, momentum=0.9)
loss_func = nn.CrossEntropyLoss()
trainer = Trainer(
model,
loss_func=loss_func,
optimizer=optimizer,
)
trainer.train(
train_dataset=train_dataset,
eval_dataset=validation_dataset,
num_epochs=8,
per_device_batch_size=32,
)
trainer.evaluate(
dataset=test_dataset,
per_device_batch_size=64,
)
if __name__ == "__main__":
main()
accelerate CLI ব্যৱহাৰ কৰি প্ৰশিক্ষণ আৰম্ভ কৰিবলৈ
, আপোনাৰ মেচিন(সমূহ)ত এইটো চলাও: accelerate config --config_file accelerate_config.yaml
আৰু সোধা হোৱা প্ৰশ্নসমূহৰ উত্তৰ দিয়া। এইটো এটা কনফিগ ফাইল সৃষ্টি কৰিব যি ঠিকভাৱে ডিফল্ট বিকল্পসমূহ সংহত কৰিবলৈ ব্যৱহাৰ কৰা হ'ব
accelerate launch --config_file accelerate_config.yaml train.py [--training-args]
টোকা: accelerate CLI ব্যৱহাৰ কৰা সম্পূৰ্ণৰূপে ঐচ্ছিক, প্ৰশিক্ষণ সাধাৰণ উপায়তো আৰম্ভ কৰিব পাৰি:
python train.py / python -m torch.distributed ...
আপোনাৰ অৱকাঠামো কনফিগাৰেশ্যন অনুসৰি, যিসকল ব্যৱহাৰকাৰী অধিক সূক্ষ্ম নিয়ন্ত্রণ বজাই ৰাখিব বিচাৰে launch command ওপৰত।
অধিক জটিল প্ৰশিক্ষণ উদাহৰণসমূহ উদাহৰণ ফোল্ডাৰত চাব পাৰি ইয়াত।
অন্যথা, যদি আপুনি প্ৰথমে মূল ধাৰণাবোৰ বুজিবলৈ বিচাৰে, এইটো documentationত পোৱা যাব।
ব্যৱহাৰ
pytorch-accelerated কাক লক্ষ্য কৰি তৈয়াৰ কৰা হৈছে?
- যিসকল ব্যৱহাৰকাৰী PyTorch-ৰ সৈতে পৰিচিত, কিন্তু সাধাৰণ training loop boilerplate লিখাৰ পৰা ৰেহাই বিচাৰে
- যিসকল ব্যৱহাৰকাৰী নিজৰ model, loss function, optimizer আৰু dataset নিৰ্বাচন আৰু সৃষ্টি কৰাত সন্তুষ্ট আৰু স্বাচ্ছন্দ্য অনুভব কৰে।
- যিসকল ব্যৱহাৰকাৰী এটা সহজ আৰু সৰল feature set মূল্যায়ন কৰে, য'ত আচৰণটো সহজে ডিবাগ, বুজা আৰু যুক্তি কৰা যায়!
কেতিয়া pytorch-accelerated ব্যৱহাৰ নকৰা উচিত?
- যদি আপুনি এটা end-to-end solution বিচাৰে, যি data লোড কৰা পৰা inference পৰ্যন্ত সকলো সামৰি লয়,
pytorch-accelerated কেৱল প্ৰশিক্ষণ প্ৰক্ৰিয়াত কেন্দ্ৰিত,
অন্যান্য সকলো দায়িত্ব ব্যৱহাৰকাৰীৰ ওপৰত থাকে।
- যদি আপুনি সম্পূৰ্ণ training loop নিজে লিখিব বিচাৰে, কেৱল device management headache-সমূহৰ পৰা মুক্ত থাকিব বিচাৰে,
Trainer-ৰ প্ৰতিটো অংশ কাষ্টমাইজ কৰা সম্ভৱ, training loop মূলত কেইটা ভাগত বিভক্ত আপোনাক অতিক্ৰম কৰিব লগা বিভিন্ন পদ্ধতি আছে। কিন্তু, আপুনি যাওঁতে, সেই for লুপবোৰ লিখাটো আকৌ আৰম্ভ কৰা যথেষ্ট গুৰুত্বপূৰ্ণ নেকি 😉।
- যদি আপুনি এটা কাষ্টম, অত্যন্ত জটিল, ব্যৱহাৰ ক্ষেত্ৰত কাম কৰি আছে যি সাধাৰণ প্ৰশিক্ষণ লুপৰ ধাৰণাত নোপোৱা আৰু আপোনাৰ নিৰ্বাচিত হাৰ্ডৱেৰত সকলোতকৈ বেছি কাৰ্যক্ষমতা উলিওৱা প্ৰয়োজন, তেন্তে আপুনি সাধাৰণ PyTorch-তেই থাকিবলৈ ভাল পাব; যিকোনো উচ্চ-স্তৰৰ API বিশেষকৈ বিশেষ ক্ষেত্ৰত অধিক ভাৰ হ’ব পাৰে!
স্বীকৃতি
pytorch-accelerated ৰ ডিজাইন আৰু বৈশিষ্ট্যসমূহৰ বহু দিশ কিছু উৎকৃষ্ট
লাইব্ৰেৰী আৰু ফ্ৰেমৱৰ্ক যেনে fastai, timm,
PyTorch-lightning আৰু Hugging Face Accelerate ৰ পৰা বহুত প্ৰভাৱিত হৈছে। এইবোৰ টুলে
এই লাইব্ৰেৰী আৰু মেচিন লাৰ্নিং কমিউনিটিত বৃহৎ প্ৰভাৱ পেলাইছে আৰু তেওঁলোকৰ প্ৰভাৱ যথেষ্টকৈ উল্লেখ কৰিব নোৱাৰি!
pytorch-accelerated এইবোৰ টুলৰ পৰা কেৱল অনুপ্ৰেৰণ লৈছে, আৰু সকলো ফাংচনেলিটি
শূন্যৰ পৰা এনেদৰে তৈয়াৰ কৰা হৈছে যাতে এই লাইব্ৰেৰীৰ লাভ হয়। কেৱল কিছু স্ক্ৰিপ্ট বাদে
উদাহৰণসমূহ
ফোল্ডাৰত বিদ্যমান উৎস লৈ সংশোধন কৰা হৈছে যাতে pytorch-accelerated ৰ বৈশিষ্ট্য দেখুওৱা যায়;
এই ক্ষেত্ৰবোৰ স্পষ্টকৈ চিহ্নিত কৰা হৈছে, আৰু মূল লেখকক স্বীকৃতি দিয়া হৈছে।
--- Tranlated By Open Ai Tx | Last indexed: 2026-02-28 ---