Współautorem tego postu jest Daniele Chiappalupi, uczestnik studenckiego zespołu Hackathon AWS w ETH Zürich.
Każdy może łatwo rozpocząć korzystanie z uczenia maszynowego (ML). Amazon SageMaker JumpStart. W tym poście pokazujemy, jak uniwersytecki zespół Hackathon wykorzystał SageMaker JumpStart do szybkiego zbudowania aplikacji, która pomaga użytkownikom identyfikować i usuwać uprzedzenia.
„Amazon SageMaker odegrał kluczową rolę w naszym projekcie. Ułatwiło to wdrożenie i zarządzanie wstępnie przeszkoloną instancją Flana, zapewniając nam solidną podstawę dla naszej aplikacji. Funkcja automatycznego skalowania okazała się kluczowa w okresach dużego ruchu, zapewniając, że nasza aplikacja pozostaje responsywna, a użytkownicy otrzymują stałą i szybką analizę błędów. Co więcej, umożliwiając nam przeniesienie ciężkiego zadania polegającego na wysyłaniu zapytań do modelu Flan na usługę zarządzaną, byliśmy w stanie zachować lekkość i szybkość naszej aplikacji, poprawiając komfort użytkowania na różnych urządzeniach. Funkcje SageMaker umożliwiły nam maksymalizację czasu spędzonego na hackatonie, dzięki czemu mogliśmy skupić się na optymalizacji komunikatów i aplikacji, zamiast zarządzać wydajnością modelu i infrastrukturą”.
– Daniele Chiappalupi, uczestnik studenckiego zespołu AWS Hackathon w ETH Zürich.
Omówienie rozwiązania
Tematem Hackathonu jest przyczynienie się do zrównoważonych celów ONZ za pomocą technologii AI. Jak pokazano na poniższym rysunku, aplikacja stworzona podczas Hackathonu przyczynia się do osiągnięcia trzech celów zrównoważonego rozwoju (edukacja wysokiej jakości, zwalczanie dyskryminacji ze względu na płeć i zmniejszanie nierówności), pomagając użytkownikom identyfikować i usuwać uprzedzenia z ich tekstów w celu promowania sprawiedliwych i język włączający.
Jak pokazano na poniższym zrzucie ekranu, po podaniu tekstu aplikacja generuje nową wersję, wolną od uprzedzeń rasowych, etnicznych i płciowych. Dodatkowo podkreśla określone części tekstu wejściowego powiązane z każdą kategorią uprzedzeń.
W architekturze pokazanej na poniższym schemacie użytkownicy wprowadzają tekst w pliku React- oparta na aplikacji internetowej, która wyzwala Brama Amazon API, co z kolei wywołuje an AWS Lambda funkcji w zależności od stronniczości w tekście użytkownika. Funkcja Lambda wywołuje punkt końcowy modelu Flan w SageMaker JumpStart, który zwraca obiektywny wynik tekstowy tą samą trasą z powrotem do aplikacji front-end.
Proces tworzenia aplikacji
Proces tworzenia tej aplikacji był iteracyjny i skupiał się na dwóch głównych obszarach: interfejsie użytkownika i integracji modelu ML.
Do rozwoju front-endu wybraliśmy React ze względu na jego elastyczność, skalowalność i potężne narzędzia do tworzenia interaktywnych interfejsów użytkownika. Biorąc pod uwagę charakter naszej aplikacji – przetwarzanie danych wejściowych użytkownika i prezentowanie dopracowanych wyników – architektura React oparta na komponentach okazała się idealna. Dzięki React mogliśmy efektywnie zbudować jednostronicową aplikację, która umożliwiłaby użytkownikom przesyłanie tekstu i przeglądanie rzetelnych wyników bez konieczności ciągłego odświeżania strony.
Tekst wprowadzony przez użytkownika musiał zostać przetworzony przez zaawansowany model językowy w celu sprawdzenia pod kątem błędów. Wybraliśmy Flan ze względu na jego solidność, wydajność i skalowalność. Aby skorzystać z Flan, użyliśmy SageMaker JumpStart, jak pokazano na poniższym zrzucie ekranu. Amazon Sage Maker ułatwiło wdrożenie i zarządzanie wstępnie wyszkoloną instancją Flana, co pozwoliło nam skupić się na optymalizacji naszych podpowiedzi i zapytań, zamiast zarządzać wydajnością modelu i infrastrukturą.
Podłączenie modelu Flan do naszej aplikacji front-endowej wymagało solidnej i bezpiecznej integracji, co udało się osiągnąć przy pomocy Lambda i API Gateway. Dzięki Lambdzie stworzyliśmy funkcję bezserwerową, która komunikuje się bezpośrednio z naszym modelem SageMaker. Następnie wykorzystaliśmy API Gateway do stworzenia bezpiecznego, skalowalnego i łatwo dostępnego punktu końcowego dla naszej aplikacji React w celu wywołania funkcji Lambda. Gdy użytkownik przesłał tekst, aplikacja uruchomiła serię wywołań API do bramy — najpierw w celu sprawdzenia, czy wystąpiła jakakolwiek stronniczość, a następnie, jeśli to konieczne, dodatkowych zapytań w celu zidentyfikowania, zlokalizowania i zneutralizowania stronniczości. Wszystkie te żądania zostały przekierowane przez funkcję Lambda, a następnie do naszego modelu SageMaker.
Naszym ostatnim zadaniem w procesie rozwoju był wybór podpowiedzi do zapytania o model języka. W tym przypadku zbiór danych CrowS-Pairs odegrał kluczową rolę, ponieważ dostarczył nam prawdziwych przykładów stronniczego tekstu, które wykorzystaliśmy do dopracowania naszych żądań. Wybraliśmy podpowiedzi w procesie iteracyjnym, mając na celu maksymalizację dokładności wykrywania odchyleń w tym zbiorze danych.
Podsumowując proces, zaobserwowaliśmy płynny przepływ operacyjny w gotowej aplikacji. Proces rozpoczyna się od przesłania przez użytkownika tekstu do analizy, który jest następnie wysyłany za pomocą żądania POST do naszego bezpiecznego punktu końcowego API Gateway. To wyzwala funkcję Lambda, która komunikuje się z punktem końcowym SageMaker. W rezultacie model Flana otrzymuje serię zapytań. Pierwsza sprawdza, czy w tekście nie ma żadnych stronniczości. W przypadku wykrycia stronniczości wdrażane są dodatkowe zapytania w celu zlokalizowania, zidentyfikowania i zneutralizowania tych stronniczych elementów. Wyniki są następnie zwracane tą samą ścieżką — najpierw do funkcji Lambda, następnie przez API Gateway i ostatecznie z powrotem do użytkownika. Jeśli w oryginalnym tekście występowały jakiekolwiek uprzedzenia, użytkownik otrzymuje kompleksową analizę wskazującą rodzaje wykrytych uprzedzeń, niezależnie od tego, czy są to rasowe, etniczne czy płciowe. Określone fragmenty tekstu, w których wykryto te błędy, są wyróżnione, co daje użytkownikom jasny obraz wprowadzonych zmian. Oprócz tej analizy przedstawiono nową, pozbawioną stronniczości wersję ich tekstu, skutecznie przekształcającą potencjalnie stronniczy wkład w bardziej włączającą narrację.
W poniższych sekcjach szczegółowo opisano kroki wdrożenia tego rozwiązania.
Skonfiguruj środowisko React
Zaczęliśmy od skonfigurowania naszego środowiska programistycznego dla React. Do ładowania nowej aplikacji React przy minimalnej konfiguracji użyliśmy funkcji create-react-app:
npx create-react-app my-app
Zbuduj interfejs użytkownika
Używając React, zaprojektowaliśmy prosty interfejs umożliwiający użytkownikom wprowadzanie tekstu, z przyciskiem wysyłania, przyciskiem resetowania i nakładającymi się ekranami do prezentacji przetworzonych wyników, gdy są one dostępne.
Zainicjuj model Flan w SageMaker
Użyliśmy SageMakera, aby utworzyć wstępnie wyszkoloną instancję modelu języka Flan z punktem końcowym na potrzeby wnioskowania w czasie rzeczywistym. Modelu można używać w odniesieniu do dowolnego ładunku o strukturze JSON, takiego jak następujący:
Utwórz funkcję Lambda
Opracowaliśmy funkcję Lambda, która współdziała bezpośrednio z naszym punktem końcowym SageMaker. Funkcja została zaprojektowana tak, aby odbierać żądanie zawierające tekst użytkownika, przekazywać je do punktu końcowego SageMaker i zwracać dopracowane wyniki, jak pokazano w poniższym kodzie (ENDPOINT_NAME
został skonfigurowany jako punkt końcowy instancji SageMaker):
Skonfiguruj bramę API
Skonfigurowaliśmy nowy interfejs API REST w API Gateway i połączyliśmy go z naszą funkcją Lambda. To połączenie umożliwiło naszej aplikacji React wysyłanie żądań HTTP do API Gateway, co następnie uruchamiało funkcję Lambda.
Zintegruj aplikację React z API
Zaktualizowaliśmy aplikację React, aby po kliknięciu przycisku wysyłania wysyłała żądanie POST do bramy API, a treścią żądania był tekst użytkownika. Kod JavaScript, którego użyliśmy do wykonania wywołania API, jest następujący (REACT_APP_AWS_ENDPOINT
odpowiada punktowi końcowemu API Gateway powiązanemu z wywołaniem Lambda):
Zoptymalizuj szybki wybór
Aby poprawić dokładność wykrywania błędu systematycznego, przetestowaliśmy różne podpowiedzi w oparciu o zbiór danych CrowS-Pairs. W ramach tego iteracyjnego procesu wybraliśmy podpowiedzi, które zapewniły nam najwyższą dokładność.
Wdróż i przetestuj aplikację React na Vercel
Po zbudowaniu aplikacji wdrożyliśmy ją na platformie Vercel, aby była publicznie dostępna. Przeprowadziliśmy szeroko zakrojone testy, aby upewnić się, że aplikacja działa zgodnie z oczekiwaniami, od interfejsu użytkownika po odpowiedzi z modelu językowego.
Te kroki położyły podwaliny pod stworzenie naszej aplikacji do analizowania i korygowania tekstu. Pomimo nieodłącznej złożoności procesu, zastosowanie narzędzi takich jak SageMaker, Lambda i API Gateway usprawniło rozwój, pozwalając nam skupić się na głównym celu projektu – identyfikacji i eliminacji błędów w tekście.
Wnioski
SageMaker JumpStart oferuje wygodny sposób poznawania funkcji i możliwości SageMaker. Zapewnia wyselekcjonowane rozwiązania jednoetapowe, przykładowe notesy i wstępnie przeszkolone modele do wdrożenia. Zasoby te pozwalają szybko nauczyć się i zrozumieć SageMaker. Dodatkowo masz możliwość dostrojenia modeli i wdrożenia ich zgodnie ze swoimi konkretnymi potrzebami. Dostęp do JumpStart jest możliwy poprzez Studio Amazon SageMaker lub programowo przy użyciu interfejsów API SageMaker.
W tym poście dowiedziałeś się, jak studencki zespół Hackathon w krótkim czasie opracował rozwiązanie przy użyciu SageMaker JumpStart, co pokazuje potencjał AWS i SageMaker JumpStart w umożliwianiu szybkiego rozwoju i wdrażania wyrafinowanych rozwiązań AI, nawet przez małe zespoły lub pojedyncze osoby.
Aby dowiedzieć się więcej na temat korzystania z SageMaker JumpStart, zobacz Dostrajanie instrukcji dla FLAN T5 XL z Amazon SageMaker Jumpstart i Monitowanie o zero-shot dla modelu podstawowego Flan-T5 w Amazon SageMaker JumpStart.
Klub ETH Analytics był gospodarzem „ETH Datathon”, hackatonu AI/ML, który przyciąga ponad 150 uczestników z ETH Zurich, Uniwersytetu w Zurychu i EPFL. Wydarzenie obejmuje warsztaty prowadzone przez liderów branży, 24-godzinne wyzwanie związane z kodowaniem oraz cenne możliwości nawiązania kontaktów z innymi studentami i profesjonalistami z branży. Ogromne podziękowania dla zespołu ETH Hackathon: Daniele Chiappalupi, Athiny Nisioti i Francesco Ignazio Re, a także reszty zespołu organizacyjnego AWS: Alice Morano, Demir Catovic, Iana Peix, Jan Oliver Seidenfuss, Lars Nettemann i Markus Winterholer.
Treść i opinie zawarte w tym poście należą do autora będącego osobą trzecią, a AWS nie ponosi odpowiedzialności za treść ani dokładność tego postu.
O autorach
Cze Zhang jest architektem rozwiązań z siedzibą w Zurychu. Pomaga szwajcarskim klientom projektować rozwiązania oparte na chmurze, aby wykorzystać ich potencjał biznesowy. Jego pasją jest zrównoważony rozwój i stara się rozwiązywać aktualne wyzwania w zakresie zrównoważonego rozwoju za pomocą technologii. Jest także wielkim fanem tenisa i bardzo lubi grać w gry planszowe.
Mohana Gowdy kieruje zespołem uczenia maszynowego w AWS w Szwajcarii. Współpracuje przede wszystkim z klientami z branży motoryzacyjnej w celu opracowania innowacyjnych rozwiązań i platform AI/ML dla pojazdów nowej generacji. Przed pracą w AWS Mohan współpracował z globalną firmą konsultingową zajmującą się strategią i analityką. Jego pasją są pojazdy połączone z siecią i jazda autonomiczna.
żywnośćto jest Egli jest dyrektorem ds. edukacji w Szwajcarii. Jest entuzjastycznym liderem zespołu z szerokim doświadczeniem w rozwoju biznesu, sprzedaży i marketingu.
Kemeng Zhanga jest inżynierem ML mieszkającym w Zurychu. Pomaga klientom na całym świecie projektować, rozwijać i skalować aplikacje oparte na uczeniu maszynowym, aby zwiększyć ich możliwości cyfrowe w celu zwiększenia przychodów biznesowych i zmniejszenia kosztów. Jej pasją jest także tworzenie aplikacji zorientowanych na człowieka, wykorzystując wiedzę z nauk behawioralnych. Lubi sporty wodne i spacery z psami.
Daniele Chiappalupi jest absolwentem ETH Zürich. Lubi każdy aspekt inżynierii oprogramowania, od projektu po wdrożenie i od wdrożenia po konserwację. Ma głęboką pasję do sztucznej inteligencji i z niecierpliwością oczekuje odkrywania, wykorzystywania i wnoszenia wkładu w najnowsze osiągnięcia w tej dziedzinie. W wolnym czasie uwielbia jeździć na snowboardzie w chłodniejszych miesiącach i grać w koszykówkę, gdy robi się cieplej.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoData.Network Pionowe generatywne AI. Wzmocnij się. Dostęp tutaj.
- PlatoAiStream. Inteligencja Web3. Wiedza wzmocniona. Dostęp tutaj.
- PlatonESG. Węgiel Czysta technologia, Energia, Środowisko, Słoneczny, Gospodarowanie odpadami. Dostęp tutaj.
- Platon Zdrowie. Inteligencja w zakresie biotechnologii i badań klinicznych. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/machine-learning/innovation-for-inclusion-hack-the-bias-with-amazon-sagemaker/
- :ma
- :Jest
- :nie
- :Gdzie
- $W GÓRĘ
- 100
- 13
- 150
- 17
- 25
- 7
- 8
- 87
- 97
- 990
- a
- Zdolny
- O nas
- dostęp
- dostępny
- Stosownie
- precyzja
- Osiągać
- osiągnięty
- w poprzek
- Dodatkowy
- do tego
- postępy
- Po
- przed
- AI
- AI / ML
- alicja
- Wszystkie kategorie
- dopuszczać
- dozwolony
- Pozwalać
- wzdłuż
- również
- Amazonka
- Amazon Sage Maker
- Amazon Web Services
- an
- analiza
- analityka
- Analizując
- i
- i infrastruktura
- przewiduje
- każdy
- api
- Pszczoła
- Aplikacja
- Zastosowanie
- aplikacje
- architektura
- SĄ
- obszary
- AS
- aspekt
- At
- autor
- samochód
- motoryzacyjny
- autonomiczny
- dostępny
- AWS
- Axios
- z powrotem
- na podstawie
- Koszykówka
- BE
- bo
- zanim
- rozpoczął
- jest
- stronniczość
- stronniczy
- uprzedzenia
- deska
- Gry planszowe
- ciało
- Granica
- szeroki
- budować
- Budowanie
- wybudowany
- biznes
- rozwój biznesu
- przycisk
- by
- wezwanie
- Połączenia
- CAN
- możliwości
- Kategoria
- wyśrodkowany
- wyzwanie
- wyzwania
- Zmiany
- Wykrywanie urządzeń szpiegujących
- wybrał
- jasny
- klub
- kod
- Kodowanie
- kompleksowość
- wszechstronny
- przeprowadzone
- systemu
- skonfigurowany
- połączony
- połączenie
- w konsekwencji
- stały
- consulting
- zawartość
- kontekst
- przyczynić się
- przyczynia się
- przyczyniając
- Wygodny
- rdzeń
- odpowiada
- Koszty:
- mógłby
- Stwórz
- stworzony
- Tworzenie
- istotny
- kurator
- Aktualny
- Klientów
- dane
- głęboko
- W zależności
- rozwijać
- wdrażane
- Wdrożenie
- Wnętrze
- zaprojektowany
- Mimo
- detal
- wykryte
- Wykrywanie
- rozwijać
- rozwinięty
- rozwijanie
- oprogramowania
- urządzenia
- różne
- cyfrowy
- bezpośrednio
- wyświetlacze
- rysuje
- jazdy
- z powodu
- podczas
- każdy
- z zapałem
- z łatwością
- łatwo
- Edukacja
- faktycznie
- efektywność
- skutecznie
- Elementy
- eliminując
- upoważniać
- upoważniony
- umożliwiając
- Punkt końcowy
- inżynier
- Inżynieria
- wzmocnienie
- zapewnić
- zapewnienie
- wpisana
- entuzjastyczny
- Środowisko
- ETH.
- Parzyste
- wydarzenie
- Każdy
- przykład
- przykłady
- spodziewany
- doświadczenie
- odkryj
- Exploring
- rozległy
- sprawiedliwy
- wentylator
- FAST
- Cecha
- Korzyści
- facet
- pole
- Postać
- finał
- Firma
- i terminów, a
- Elastyczność
- pływ
- Skupiać
- następujący
- następujący sposób
- W razie zamówieenia projektu
- Naprzód
- znaleziono
- Fundacja
- Darmowy
- od
- funkcjonować
- dalej
- Games
- Bramka
- dał
- Płeć
- generuje
- generacja
- otrzymać
- dany
- Dający
- Globalne
- cel
- Gole
- będzie
- chwycić
- absolwent
- wspaniały
- podkład
- siekać
- hackathon
- Have
- he
- głowa
- ciężki
- pomoc
- pomaga
- tutaj
- Najwyższa
- Podświetlony
- pasemka
- jego
- hostowane
- W jaki sposób
- HTML
- http
- HTTPS
- olbrzymi
- idealny
- zidentyfikować
- if
- wdrożenia
- realizacja
- importować
- podnieść
- in
- włączenie
- Włącznie
- Zwiększać
- osób
- przemysł
- Nierówności
- Infrastruktura
- nieodłączny
- Innowacja
- Innowacyjny
- wkład
- przykład
- instrumentalny
- integracja
- interaktywne
- Interfejs
- interfejsy
- najnowszych
- inwokuje
- IT
- JEGO
- Styczeń
- JAVASCRIPT
- jpg
- json
- Trzymać
- wiedza
- język
- firmy
- prowadzić
- Przywódcy
- Wyprowadzenia
- UCZYĆ SIĘ
- dowiedziałem
- nauka
- Doprowadziło
- lewarowanie
- leży
- lekki
- lubić
- lubi
- powiązany
- Partia
- kocha
- maszyna
- uczenie maszynowe
- zrobiony
- Główny
- konserwacja
- robić
- zarządzanie
- zarządzane
- i konserwacjami
- zarządzający
- Marketing
- Maksymalizuj
- maksymalizacji
- minimalny
- ML
- model
- modele
- miesięcy
- jeszcze
- NARRACJA
- Natura
- niezbędny
- Potrzebować
- potrzebne
- wymagania
- sieci
- Możliwości sieciowe
- Nowości
- Następny
- cel
- of
- oferuje
- Oferty
- on
- operacyjny
- Opinie
- Szanse
- optymalizacji
- Option
- or
- zamówienie
- organizowanie
- oryginalny
- OS
- ludzkiej,
- strona
- Uczestnicy
- strony
- pasja
- namiętny
- wykonać
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- okresy
- Platformy
- plato
- Analiza danych Platona
- PlatoDane
- grał
- gra
- Post
- potencjał
- potencjalnie
- mocny
- obecność
- teraźniejszość
- przedstawione
- głównie
- wygląda tak
- Obrobiony
- specjalistów
- projekt
- promować
- niska zabudowa
- okazały
- zapewniać
- pod warunkiem,
- zapewnia
- publicznie
- jakość
- zapytania
- szybko
- szybki
- raczej
- RE
- React
- łatwo
- real
- w czasie rzeczywistym
- otrzymać
- Odebrane
- otrzymuje
- niedawny
- zmniejszyć
- Zredukowany
- odnosić się
- rafinowany
- związane z
- pozostał
- usunąć
- zażądać
- wywołań
- wymagany
- Zasoby
- Odpowiedzi
- odpowiedzialny
- czuły
- REST
- dalsze
- Efekt
- powrót
- powraca
- dochód
- krzepki
- krzepkość
- Rola
- Trasa
- sagemaker
- sole
- taki sam
- Skalowalność
- skalowalny
- Skala
- skalowaniem
- nauka
- bezszwowy
- działy
- bezpieczne
- widzieć
- nasienie
- wybrany
- wybór
- wysłany
- Serie
- Bezserwerowe
- usługa
- Usługi
- zestaw
- ustawienie
- ona
- Short
- pokazać
- pokazane
- Targi
- Prosty
- mały
- Tworzenie
- Inżynieria oprogramowania
- solidny
- rozwiązanie
- Rozwiązania
- ROZWIĄZANIA
- wyrafinowany
- specyficzny
- SPORTOWE
- rozpoczęty
- stały
- Cel
- Strategia
- usprawniony
- dąży
- student
- Studenci
- uległość
- Zatwierdź
- składane
- Następnie
- Zrównoważony rozwój
- zrównoważone
- Zrównoważony rozwój
- SWIFT
- Szwajcarski
- Szwajcaria
- kierowania
- Zadanie
- zespół
- Zespoły
- Technologia
- test
- przetestowany
- Testy
- XNUMX
- niż
- Podziękowania
- że
- Połączenia
- ich
- Im
- motyw
- następnie
- Te
- innych firm
- to
- tych
- trzy
- Przez
- czas
- do
- narzędzia
- transformatorowy
- rozsierdzony
- SKRĘCAĆ
- drugiej
- typy
- Ostatecznie
- UN
- zrozumieć
- uniwersytet
- zaktualizowane
- us
- posługiwać się
- używany
- Użytkownik
- Doświadczenie użytkownika
- Interfejs użytkownika
- Użytkownicy
- za pomocą
- wykorzystać
- wykorzystany
- Wykorzystując
- Cenny
- różnorodny
- Pojazdy
- wersja
- początku.
- przez
- Zobacz i wysłuchaj
- chodzący
- Ogrzewa
- była
- Uzdatnianie wody
- Droga..
- we
- Pogoda
- sieć
- usługi internetowe
- DOBRZE
- były
- jeśli chodzi o komunikację i motywację
- czy
- który
- w
- w ciągu
- bez
- pracował
- pracujący
- działa
- warsztaty
- You
- Twój
- zefirnet
- Zurych