Hugging Face წარმოგიდგენთ Trackio-ს: ღია კოდის ბიბლიოთეკა ML ექსპერიმენტების მარტივი თვალთვალისთვის
Hugging Face-ის გუნდმა შეიმუშავა Trackio, ღია კოდის Python ბიბლიოთეკა მანქანური სწავლების ექსპერიმენტების თვალთვალისთვის. ის გამოირჩევა გაზიარების სიმარტივით, მონაცემთა ხელმისაწვდომობითა და მოქნილობით. Trackio იყენებს ლოკალურ Gradio დაფას, რომელიც შეიძლება სინქრონიზდეს Hugging Face Spaces-თან, რაც მომხმარებლებს საშუალებას აძლევს მარტივად გააზიარონ პროგრესი. ის ინტეგრირდება Hugging Face-ის სხვა ბიბლიოთეკებთან და მიზნად ისახავს საზოგადოების ჩართულობით განვითარებას, როგორც მსუბუქი და გამჭვირვალე ალ
თუ თქვენ ოდესმე გაგივარჯიშებიათ საკუთარი მანქანური სწავლების მოდელი, იცით, რამდენად მნიშვნელოვანია სწავლების პროცესში მეტრიკების, პარამეტრებისა და ჰიპერპარამეტრების თვალყურის დევნება და მათი შემდგომი ვიზუალიზაცია, რათა უკეთ გაიგოთ თქვენი სასწავლო პროცესი. მანქანური სწავლების მკვლევრების უმეტესობა ამისთვის იყენებს სპეციალურ ექსპერიმენტების თვალთვალის ბიბლიოთეკებს. თუმცა, ეს ბიბლიოთეკები შეიძლება იყოს ფასიანი, მოითხოვდეს კომპლექსურ დაყენებას, ან არ ჰქონდეს მოქნილობა, რომელიც საჭიროა სწრაფი ექსპერიმენტებისა და გაზიარებისთვის.
Hugging Face-ში, ჩვენმა სამეცნიერო გუნდმა დაიწყო Trackio-ს გამოყენება ჩვენი კვლევითი პროექტებისთვის და ჩვენ აღმოვაჩინეთ რამდენიმე ძირითადი უპირატესობა სხვა თვალთვალის გადაწყვეტილებებთან შედარებით:
**მარტივი გაზიარება და ინტეგრაცია:** Trackio წარმოუდგენლად ამარტივებს სწავლების პროგრესის კოლეგებისთვის გაზიარებას ან გრაფიკების პირდაპირ ბლოგის პოსტებსა და დოკუმენტაციაში ინტეგრირებას `iframe`-ების გამოყენებით. ეს განსაკუთრებით ღირებულია, როდესაც გსურთ აჩვენოთ კონკრეტული სასწავლო მრუდები ან მეტრიკები სხვებისგან ანგარიშების შექმნის ან რთული დაფების ნავიგაციის მოთხოვნის გარეშე.
**სტანდარტიზაცია და გამჭვირვალობა:** ისეთი მეტრიკები, როგორიცაა GPU-ს ენერგიის მოხმარება, მნიშვნელოვანია თვალყურის სადევნებლად და საზოგადოებისთვის გასაზიარებლად, რათა უკეთესი წარმოდგენა გვქონდეს მოდელის სწავლების ენერგეტიკულ მოთხოვნილებებსა და გარემოზე ზემოქმედებაზე. Trackio, რომელიც პირდაპირ იღებს ინფორმაციას `nvidia-smi` ბრძანებიდან, აადვილებს ენერგიის მოხმარების რაოდენობრივ განსაზღვრასა და შედარებას, ასევე მის დამატებას მოდელის ბარათებში (model cards).
**მონაცემთა ხელმისაწვდომობა:** ზოგიერთი თვალთვალის ხელსაწყოსგან განსხვავებით, რომლებიც თქვენს მონაცემებს დახურული API-ების მიღმა ინახავს, Trackio-ს საშუალებით მარტივია ჩაწერილი მონაცემების ამოღება და ანალიზი. ეს გადამწყვეტია მკვლევრებისთვის, რომლებსაც სჭირდებათ მორგებული ანალიზის ჩატარება ან სასწავლო მეტრიკების ინტეგრირება მათ კვლევით პროცესებში.
**მოქნილობა ექსპერიმენტებისთვის:** Trackio-ს მსუბუქი დიზაინი საშუალებას გვაძლევს მარტივად ჩავატაროთ ექსპერიმენტები ახალი თვალთვალის ფუნქციებით სწავლების პროცესში. მაგალითად, ჩვენ შეგვიძლია გადავწყვიტოთ, როდის გადავიტანოთ ტენსორები GPU-დან CPU-ზე ტენსორების აღრიცხვისას, რაც მნიშვნელოვნად აუმჯობესებს სწავლების გამტარუნარიანობას, როდესაც საჭიროა მოდელის/შუალედური მდგომარეობების თვალყურის დევნება შესრულებაზე ზემოქმედების გარეშე.
**მაშ ასე, რა არის Trackio და როგორ გამოიყენება?**
Trackio არის ღია კოდის Python ბიბლიოთეკა, რომელიც საშუალებას გაძლევთ თვალყური ადევნოთ ნებისმიერ მეტრიკას და მოახდინოთ მათი ვიზუალიზაცია ლოკალური Gradio დაფის გამოყენებით. თქვენ ასევე შეგიძლიათ ამ დაფის სინქრონიზაცია Hugging Face Spaces-თან, რაც იმას ნიშნავს, რომ თქვენ შეგიძლიათ გააზიაროთ დაფა სხვა მომხმარებლებთან უბრალოდ URL-ის გაზიარებით. ვინაიდან Spaces შეიძლება იყოს პირადი ან საჯარო, ეს ნიშნავს, რომ თქვენ შეგიძლიათ გააზიაროთ დაფა საჯაროდ ან მხოლოდ თქვენი Hugging Face ორგანიზაციის წევრებს შორის. Trackio-ს დაყენება შეგიძლიათ `pip`-ის გამოყენებით:
```bash
pip install trackio
```
ან, თუ `uv`-ს გამოყენებას ამჯობინებთ:
```bash
uv pip install trackio
```
Trackio შექმნილია იმისთვის, რომ იყოს ექსპერიმენტების თვალთვალის ბიბლიოთეკების, როგორიცაა `wandb`, სრული შემცვლელი. API თავსებადია `wandb.init`, `wandb.log` და `wandb.finish` ფუნქციებთან, ასე რომ თქვენ შეგიძლიათ უბრალოდ იმპორტირება გაუკეთოთ `trackio`-ს, როგორც `wandb` თქვენს კოდში. წარმოგიდგენთ მაგალითს:
```python
import trackio as wandb
wandb.init(project="my-project", name="my-run")
wandb.log({"loss": 0.1, "accuracy": 0.9})
wandb.finish()
```
თქვენი ექსპერიმენტების აღრიცხვის შემდეგ, შეგიძლიათ გაუშვათ დაფა თქვენი შედეგების ვიზუალიზაციისთვის. გაუშვით შემდეგი ბრძანება თქვენს ტერმინალში:
```bash
trackio dashboard
```
ან გაუშვით Python-დან:
```python
import trackio
trackio.launch_dashboard()
```
ასევე შეგიძლიათ მიუთითოთ პროექტის სახელი:
```bash
trackio dashboard --project my-project
```
ან Python-ში:
```python
import trackio
trackio.launch_dashboard(project="my-project")
```
თქვენი ლოკალური დაფის Hugging Face Spaces-თან სინქრონიზაციისთვის, უბრალოდ გადაეცით `space_id` `init` ფუნქციას:
```python
import trackio as wandb
wandb.init(project="my-project", name="my-run", space_id="your-hf-username/your-space-name")
```
თუ თქვენ მასპინძლობთ თქვენს დაფას Spaces-ზე, შეგიძლიათ უბრალოდ გააზიაროთ URL ან ჩასვათ ის სადმე `iframe`-ის გამოყენებით:
```html
```
ვინაიდან Spaces შეიძლება იყოს პირადი ან საჯარო, ეს ნიშნავს, რომ თქვენ შეგიძლიათ გააზიაროთ დაფა საჯაროდ ან მხოლოდ თქვენი Hugging Face ორგანიზაციის წევრებს შორის — სრულიად უფასოდ! როდესაც თქვენ სინქრონიზაციას უკეთებთ თქვენს Trackio დაფას Hugging Face Spaces-თან, მონაცემები აღირიცხება დროებით Sqlite მონაცემთა ბაზაში Spaces-ზე. ვინაიდან ეს მონაცემთა ბაზა გადაიტვირთება, თუ თქვენი Space გადაიტვირთება, Trackio ასევე გარდაქმნის Sqlite მონაცემთა ბაზას Parquet მონაცემთა კომპლექტად და ახდენს მის სარეზერვო კოპირებას Hugging Face Dataset-ში ყოველ 5 წუთში. ეს ნიშნავს, რომ თქვენ შეგიძლიათ მარტივად მოახდინოთ თქვენი აღრიცხული მეტრიკების ვიზუალიზაცია Hugging Face მონაცემთა კომპლექტში ნებისმიერ დროს:
```python
import datasets
dataset = datasets.load_dataset("your-hf-username/your-dataset-name", split="train")
print(dataset)
```
**რჩევა:** შეგიძლიათ დააყენოთ ამ მონაცემთა კომპლექტის სახელი `dataset_id`-ის `trackio.init()`-ისთვის გადაცემით.
Trackio ინტეგრირებულია Hugging Face ბიბლიოთეკებთან, როგორიცაა `transformers` და `accelerate`, ასე რომ თქვენ შეგიძლიათ მეტრიკების აღრიცხვა მინიმალური დაყენებით. `transformers.Trainer`-თან ერთად:
```python
import trackio as wandb
from transformers import Trainer, TrainingArguments
# Define your model, dataset, etc.
# ...
training_args = TrainingArguments(
output_dir="./results",
report_to="trackio", # This is all you need!
)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=train_dataset,
eval_dataset=eval_dataset,
)
trainer.train()
```
`accelerate`-თან ერთად:
```python
import trackio as wandb
from accelerate import Accelerator
accelerator = Accelerator(log_with="trackio") # This is all you need!
# Define your model, optimizer, etc.
# ...
# Wrap your objects with accelerator
model, optimizer, train_dataloader, eval_dataloader = accelerator.prepare(
model, optimizer, train_dataloader, eval_dataloader
)
# Start your training loop
for epoch in range(num_epochs):
for batch in train_dataloader:
# ... training logic ...
accelerator.log({"loss": loss.item()}, step=global_step)
```
დამატებითი დაყენება არ არის საჭირო — უბრალოდ შეაერთეთ და დაიწყეთ თვალთვალი.
Trackio განზრახ არის მსუბუქი და ამჟამად ბეტა რეჟიმშია. ზოგიერთი ფუნქცია, რომელიც გვხვდება სხვა თვალთვალის ხელსაწყოებში, როგორიცაა არტეფაქტების მართვა ან კომპლექსური ვიზუალიზაცია, ჯერ არ არის ხელმისაწვდომი. თუ გსურთ ეს ფუნქციები, გთხოვთ შექმნათ "issue" აქ: https://github.com/gradio-app/trackio/issues
Trackio-ს მსუბუქი და ღია კოდის ბუნების გათვალისწინებით, ჩვენ გვსურს ვიმუშაოთ მანქანური სწავლების საზოგადოებასთან, რათა შევიმუშავოთ ექსპერიმენტების თვალთვალის პროდუქტი, რომელიც ყველასთვის გამოსადეგი იქნება! გთხოვთ შეგვატყობინოთ ნებისმიერი ფუნქციის შესახებ, რომლის ნახვაც გსურთ Trackio-ში აქ: https://github.com/gradio-app/trackio/issues
თეგები:
#მანქანური სწავლება
#hugging face
#ღია კოდი
#პითონი
#gradio
#hugging face spaces
#trackio
#ექსპერიმენტების თვალთვალი
#gpu ენერგია
წყარო: huggingface.co
AI-ით გადამუშავებული
მსგავსი სტატიები
ხელოვნური ინტელექტი
Anthropic-ის Claude-ის აღზევება Apple App Store-ის რეიტინგებში პენტაგონთან მოლაპარაკებების ფონზე
ხელოვნური ინტელექტი
ტრამპის ადმინისტრაცია Anthropic-ს სანქციებს უწესებს ხელოვნური ინტელექტის გამოყენებაზე უარის გამო: ექსპერტი ინდუსტრიის უსაფრთხოების ხარვეზებზე საუბრობს
ხელოვნური ინტელექტი