Przejdź do treści

Lightning

logo lightning

Wprowadzenie

Lightning (dawniej Pytorch Lightning) to biblioteka, która została stworzona jako wysokopoziomowy interfejs do biblioteki Pytorch. Umożliwia ona efektywne strukturyzowanie i upraszczanie kodu stworzonego w bibliotece Pytorch. Głównymi celami twórcy frameworku, Williama Falcona, było: zminimalizowanie czasu poświęconego na rozwiązywanie problemów inżynieryjnych podczas tworzenia kodu do eksperymentów naukowych.

Dostępność

Lightning dostępny jest jako bibliotek dla języka Python. Pozwala na wykorzystanie obliczeń tensorowych ze wsparciem akceleracji obliczeń zarówno dla CPU, jak i GPU oraz TPU.

Szczegóły

Zaletą Lightning jest proste, modułowe organizowanie skryptu i prostota w transferze kodu napisanego w Pytorch. Modułowość umożliwia separację części kodu odpowiedzialnej za ładowanie danych, architekturę i działanie modelu oraz inne funkcjonalności. Moduły z kolei posiadają wygodne i intuicyjne interfejsy, pozwalające na dopasowanie funkcjonalności do swoich potrzeb.

Na szczególną uwagę zasługuje klasa Trainer, dzięki której użytkownik jest w stanie w prosty sposób konfigurować proces treningu modelu. Jedną z jej głównych zalet jest łatwość, z jaką użytkownik może skonfigurować trening wykorzystujący wiele akceleratorów (GPU, TPU) lub węzłów obliczeniowych.

Oprócz tego, Lightning wspiera wiele najnowszych strategii treningu rozproszonego. Integruje zarówno zewnętrzne strategie, jak i posiada własne (m.in. Torch DDP). Horovod oraz bagua to przykłady zewnętrznych strategii wymagających zainstalowania bibliotek, które je implementują. Pozwalają one na znaczącą poprawę prędkości treningu.

Informacje o wydaniu

Obecna wersja to 2.0, wydana w marcu 2023. Podobnie jak Pytorch, jest to projekt open source. Wersje aktualizowane są około dwa razy w roku, z częstszymi małymi rozszerzeniami do obecnych wersji.

Linki


Ostatnia aktualizacja: 9 kwietnia 2024