RoBERTa Large kalkulator TPS
Każda karta poniżej jest oceniana w stosunku do tego modelu przy wybranej długości kontekstu i minimalnej jakości. Prędkość jest oszacowaniem dla pojedynczego żądania, obliczonym na podstawie przepustowości pamięci karty i rozmiaru modelu po skompresowaniu..
Obliczone dla tego modelu
818 Karty, które posiadamy specyfikacje dla
Najmniejsza karta, która pasuje
Tesla C1080
4 GB · Q8_0 · 104 tok/s
Najszybsza karta
B200
9,544 tok/s · 180 GB
Które GPU mogą uruchomić RoBERTa Large?
Ustaw wejścia, odczytaj odpowiedź.
Dłuższa rozmowa wymaga więcej MEMORY, co może spowodować, że ten model nie zmieści się na mniejszych CARD..
Ukrywa karty, które zmieściłyby się w modelu tylko przez skompresowanie go poniżej tego punktu..
818 karty pasują
Obliczanie| potrzeby | Kwantyzacja | Pasuje | |||||
|---|---|---|---|---|---|---|---|
|
9,544
tok/s
5,727–15,271 · niska pewność |
B200 NVIDIA | 180 GB | 8,000 GB/s | Jan 2024 | 1.1 GB | Q8_0 | Wygodny |
|
9,544
tok/s
5,727–15,271 · niska pewność |
B300 NVIDIA | 288 GB | 8,000 GB/s | Sep 2025 | 1.1 GB | Q8_0 | Wygodny |
|
7,621
tok/s
4,573–12,194 · niska pewność |
Radeon Instinct MI350X AMD | 288 GB | 8,190 GB/s | Jan 2025 | 1.1 GB | Q8_0 | Wygodny |
|
7,621
tok/s
4,573–12,194 · niska pewność |
Radeon Instinct MI355X AMD | 288 GB | 8,190 GB/s | Jan 2025 | 1.1 GB | Q8_0 | Wygodny |
|
6,095
tok/s
3,657–9,752 · niska pewność |
Radeon Instinct MI300 AMD | 128 GB | 6,550 GB/s | Jan 2023 | 1.1 GB | Q8_0 | Wygodny |
|
5,834
tok/s
3,500–9,334 · niska pewność |
H200 NVL NVIDIA | 141 GB | 4,890 GB/s | Nov 2024 | 1.1 GB | Q8_0 | Wygodny |
|
5,834
tok/s
3,500–9,334 · niska pewność |
H200 SXM 141 GB NVIDIA | 141 GB | 4,890 GB/s | Nov 2024 | 1.1 GB | Q8_0 | Wygodny |
|
5,583
tok/s
3,350–8,933 · niska pewność |
Radeon Instinct MI325X AMD | 256 GB | 6,000 GB/s | Oct 2024 | 1.1 GB | Q8_0 | Wygodny |
|
4,955
tok/s
2,973–7,928 · niska pewność |
Radeon Instinct MI300A AMD | 128 GB | 5,325 GB/s | Dec 2023 | 1.1 GB | Q8_0 | Wygodny |
|
4,955
tok/s
2,973–7,928 · niska pewność |
Radeon Instinct MI300X AMD | 192 GB | 5,325 GB/s | Dec 2023 | 1.1 GB | Q8_0 | Wygodny |
|
4,955
tok/s
2,973–7,928 · niska pewność |
Radeon Instinct MI308X AMD | 192 GB | 5,325 GB/s | Dec 2023 | 1.1 GB | Q8_0 | Wygodny |
|
4,701
tok/s
2,820–7,521 · niska pewność |
H100 NVL 94 GB NVIDIA | 94 GB | 3,940 GB/s | Mar 2023 | 1.1 GB | Q8_0 | Wygodny |
|
4,009
tok/s
2,405–6,414 · niska pewność |
H100 PCIe 96 GB NVIDIA | 96 GB | 3,360 GB/s | Mar 2023 | 1.1 GB | Q8_0 | Wygodny |
|
4,009
tok/s
2,405–6,414 · niska pewność |
H100 SXM5 80 GB NVIDIA | 80 GB | 3,360 GB/s | Oct 2022 | 1.1 GB | Q8_0 | Wygodny |
|
4,009
tok/s
2,405–6,414 · niska pewność |
H100 SXM5 94 GB NVIDIA | 94 GB | 3,360 GB/s | Mar 2023 | 1.1 GB | Q8_0 | Wygodny |
|
4,009
tok/s
2,405–6,414 · niska pewność |
H100 SXM5 96 GB NVIDIA | 96 GB | 3,360 GB/s | Mar 2023 | 1.1 GB | Q8_0 | Wygodny |
|
4,009
tok/s
2,405–6,414 · niska pewność |
H800 SXM5 NVIDIA | 80 GB | 3,360 GB/s | Mar 2023 | 1.1 GB | Q8_0 | Wygodny |
|
3,052
tok/s
1,831–4,884 · niska pewność |
Radeon Instinct MI250 AMD | 128 GB | 3,280 GB/s | Nov 2021 | 1.1 GB | Q8_0 | Wygodny |
|
3,052
tok/s
1,831–4,884 · niska pewność |
Radeon Instinct MI250X AMD | 128 GB | 3,280 GB/s | Nov 2021 | 1.1 GB | Q8_0 | Wygodny |
|
2,544
tok/s
1,526–4,070 · niska pewność |
Data Center GPU Max 1550 Intel | 128 GB | 3,280 GB/s | Jan 2023 | 1.1 GB | Q8_0 | Wygodny |
|
2,489
tok/s
1,494–3,983 · niska pewność |
Data Center GPU Max Subsystem Intel | 128 GB | 3,210 GB/s | Jan 2023 | 1.1 GB | Q8_0 | Wygodny |
|
2,434
tok/s
1,460–3,894 · niska pewność |
A100 SXM4 80 GB NVIDIA | 80 GB | 2,040 GB/s | Nov 2020 | 1.1 GB | Q8_0 | Wygodny |
|
2,434
tok/s
1,460–3,894 · niska pewność |
A100X NVIDIA | 80 GB | 2,040 GB/s | Jun 2021 | 1.1 GB | Q8_0 | Wygodny |
|
2,434
tok/s
1,460–3,894 · niska pewność |
A800 SXM4 80 GB NVIDIA | 80 GB | 2,040 GB/s | Aug 2022 | 1.1 GB | Q8_0 | Wygodny |
|
2,434
tok/s
1,460–3,894 · niska pewność |
H100 CNX NVIDIA | 80 GB | 2,040 GB/s | Mar 2023 | 1.1 GB | Q8_0 | Wygodny |
Prędkości są szacunkami dla pojedynczego zapytania — jednej konwersacji na raz — obliczonymi na podstawie przepustowości pamięci, rozmiaru MODELu i kwantyzacji. Rzeczywista przepustowość różni się w zależności od czasu uruchamiania inference i jego wersji. Wartości publikowane przez dostawców sprzętu mierzą wiele jednoczesnych zapytań i są znacznie wyższe..
Na nagranie
Pełna specyfikacja
Wszystko na rekord dla tego modelu. Większość z tego opisuje, jak był trenowany, a nie jak działa — użyteczny kontekst do oceny, ile pracy włożono w to, i jak wypada w porównaniu z modelami budowanymi w innym skali..
Pochodzenie
Kto zbudował ten model, gdzie i kiedy został opublikowany.
- Organizacja
- Facebook,University of Washington
- Typ organizacji
- Industry,Academia
- Kraj
- United States of America
- Opublikowany
- 1 July 2019
- Autorzy
- Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, Veselin Stoyanov
Co to robi
Obszary problemowe, dla których stworzono model. Model może mieć kilka z każdego.
- Domena
- Language
- Zadanie
- Question answering, Language modeling/generation
- Format numeryczny
- FP16
Rozmiar
Jak duży jest model i na ile danych był trenowany. Parametry to liczba, która decyduje, czy mieści się na danej karcie graficznej.
- parametry
- 355M
- Dane treningowe
- 42,666,666,666 tokens
- Epoki
- 48
355M https://github.com/facebookresearch/fairseq/blob/main/examples/roberta/README.md
160GB*200M words/GB * (4 tokens / 3 words) = 3.2e10 tokens max steps 500k batch size 8k "We pretrain with sequences of at most T = 512 tokens." 500000*8000*512 = 2.048e+12 tokens
Obliczenia treningowe
Arytmetyka wykonywana w celu wytrenowania modelu, mierzona w operacjach zmiennoprzecinkowych. Jest to miara kosztów przeprowadzenia treningu, a nie tego, jak szybko gotowy model odpowiada na twoje pytania.
- Obliczenia treningowe
- 8.5 × 10²¹ FLOP
- Jak to zostało ustalone
- Hardware,Operation counting,Third-party estimation
Section 5: We pretrain our model using 1024 V100 GPUs for approximately one day. Note this is the base pretraining comparable to BERT, 100k steps. Subsequently they do more: "increasing the number of pretraining steps from 100K to 300K, and then further to 500K". So assume 5x the 1024 V100 GPUs for 1d estimate. Mixed precision tensor cores get 1.25e14 FLOP/s. 1024 * 1.25e14 * 5 * 24 * 3600 * 0.3 = 1.65888e22 6ND estimate: batches are 8k sequences of 512 tokens; 500k updates means the model s…
Przebieg szkolenia
Co fizycznie było potrzebne do treningu: jakie chipy, ile, na jak długo i co to pobierało z sieci.
- Sprzęt do trenowania
- NVIDIA Tesla V100 DGXS 32 GB
- Zastosowane chipy
- 1,024
- Czas-chip
- 122,880
- Czas rzeczywisty
- 120 hours
- Pobór mocy
- 526.2 kW
- Koszt obliczeniowy
- $85,350
First the model is pretrained for 100k steps on 1024 GPUs for 1 day, then pretraining is increased to 500k steps, so assuming they used the same number of GPUs, this would have taken 5 days.
Dostępność
Czy możesz zdobyć model i uruchomić go na swoim sprzęcie, co decyduje o tym, czy którakolwiek z cyfr karty graficznej na tej stronie ma zastosowanie.
- Wagi
- Open — downloadable
- Dostęp do modelu
- Open weights (unrestricted)
- Kod treningowy
- Open source
code and weights: https://github.com/facebookresearch/fairseq/blob/main/examples/roberta/README.md pretrain code: https://github.com/facebookresearch/fairseq/blob/main/examples/roberta/README.pretraining.md repo is MIT license
Jak jest klasyfikowane
Etykiety, które źródłowy zbiór danych stosuje podczas śledzenia znaczących modeli oraz jak pewny jest tego wpisu.
- Model Frontier
- Yes
- Dlaczego to jest śledzone
- Highly cited,SOTA improvement
- Zapisz pewność
- Confident
- Cytaty
- 29,641
"Our best model achieves state-of-the-art results on GLUE, RACE and SQuAD"
Źródła
Skąd pochodzi ten rekord i kiedy był ostatnio sprawdzany.
- Referencja
- RoBERTa: A Robustly Optimized BERT Pretraining Approach
- Ostatnio zaktualizowane
- 25 May 2026
Ekstremy
Dziesięć najszybszych GPU, które uruchamiają RoBERTa Large
Uszeregowany według szacowanej liczby tokenów na sekundę, najnowsza karta na pierwszym miejscu, gdy prędkości są równe. Ponieważ generacja jest ograniczona przez pamięć, to uporządkowanie podąża za przepustowością, a nie za jakimkolwiek benchmarkiem gier..
- 01 B300 288 GB · 8,000 GB/s · Q8_0 9,544 tok/s
- 02 B200 180 GB · 8,000 GB/s · Q8_0 9,544 tok/s
- 03 Radeon Instinct MI350X 288 GB · 8,190 GB/s · Q8_0 7,621 tok/s
- 04 Radeon Instinct MI355X 288 GB · 8,190 GB/s · Q8_0 7,621 tok/s
- 05 Radeon Instinct MI300 128 GB · 6,550 GB/s · Q8_0 6,095 tok/s
- 06 H200 NVL 141 GB · 4,890 GB/s · Q8_0 5,834 tok/s
- 07 H200 SXM 141 GB 141 GB · 4,890 GB/s · Q8_0 5,834 tok/s
- 08 Radeon Instinct MI325X 256 GB · 6,000 GB/s · Q8_0 5,583 tok/s
- 09 Radeon Instinct MI300A 128 GB · 5,325 GB/s · Q8_0 4,955 tok/s
- 10 Radeon Instinct MI300X 192 GB · 5,325 GB/s · Q8_0 4,955 tok/s
Najmniejsze GPU, które nadal działają RoBERTa Large
Najtańsza droga do, według pojemności pamięci. Tight fit uruchamia model, ale nie zostawia nic na dłuższą rozmowę..
- 01 GeForce RTX 4010 4 GB · potrzeby 1.1 GB · Q8_0 · Wygodny 115 tok/s
- 02 RTX A400 4 GB · potrzeby 1.1 GB · Q8_0 · Wygodny 115 tok/s
- 03 RTX 500 Mobile Ada Generation 4 GB · potrzeby 1.1 GB · Q8_0 · Wygodny 153 tok/s
- 04 GeForce RTX 3050 A Mobile 4 GB · potrzeby 1.1 GB · Q8_0 · Wygodny 229 tok/s
- 05 Jetson Orin Nano 4 GB 4 GB · potrzeby 1.1 GB · Q8_0 · Wygodny 40.7 tok/s
- 06 Radeon RX 6450M 4 GB · potrzeby 1.1 GB · Q8_0 · Wygodny 119 tok/s
- 07 Radeon RX 6550M 4 GB · potrzeby 1.1 GB · Q8_0 · Wygodny 134 tok/s
- 08 Radeon RX 6550S 4 GB · potrzeby 1.1 GB · Q8_0 · Wygodny 119 tok/s
- 09 Arc A310 4 GB · potrzeby 1.1 GB · Q8_0 · Wygodny 96.2 tok/s
- 10 Arc Pro A30M 4 GB · potrzeby 1.1 GB · Q8_0 · Wygodny 99.3 tok/s
Co oznaczają liczby
Wymagania sprzętowe w praktyce
Minimalna karta
Tesla C1080
Pamięć potrzebna
1.1 GB
Najszybszy
9,544 tok/s
RoBERTa Large osiąga liczbę parametrów równą 355M. To jest na tyle małe, że sprzęt rzadko stanowi przeszkodę, w tym na kartach sprzed kilku lat. Liczba kart, które śledzimy, które mogą go uruchomić: 818.
Punkt wejścia to Tesla C1080, o pojemności pamięci 4 GB, uruchomienie go przy kompresji Q8_0 i produkując około 104 tokeny na sekundę
Najszybszy rezultat pochodzi z B200, generowanie w przybliżeniu 9,544 tokenów na sekundę na podstawie przepustowości pamięci 8,000 GB/s.
O tym modelu
RoBERTa Large został opublikowany przez Facebook,University of Washington, w kraju zapisanym jako United States of America, podczas July 2019. Organizacja publikująca jest klasyfikowana jako industry,Academia.
Działa w dziedzinie Language, i jest zapisany jako wykonujący zadanie question answering, Language modeling/generation.
Otwarte wagi to powód, dla którego ta strona znajduje się w kalkulatorze, a nie tylko w katalogu: jest to model, który możesz faktycznie mieć.
Jak szybko działa i dlaczego
Mediana wyniku wynosi około 268.0 tokenów na sekundę. Produkując tekst szybciej niż większość ludzi go czyta. 817 ich
Będąc gęstym, odczytuje każdą swoją część po tokenie, dlatego poniższe uporządkowanie według szybkości tak ściśle pokrywa się z uporządkowaniem według przepustowości pamięci.
Pamięć tutaj jest szacowana na podstawie rozmiaru, a nie obliczana z architektury, która nie jest zarejestrowana dla tego modelu — liczby są wskazujące, a nie dokładne.
Jak to zostało wytrenowane
Trening zajmował około 8.5 × 10²¹ FLOP, na sprzęcie zarejestrowanym jako NVIDIA Tesla V100 DGXS 32 GB. Ta liczba mierzy, ile kosztowało wyprodukowanie modelu i nie ma wpływu na to, jak szybko odpowiada.
Trening zużył korpus około 42,666,666,666 Tokeny tekstu.
Jest śledzone w podstawowym zbiorze danych z jednego szczególnego powodu: highly cited,SOTA improvement.
Krok po kroku
Jak wybrać GPU do RoBERTa Large
Tabela powyżej oceniła już każdą kartę, dla której posiadamy specyfikacje, w stosunku do tego modelu. Dotarcie do odpowiedzi wymaga sześciu kroków..
-
01
Przeczytaj najpierw liczbę pamięci
Tabela zawiera każdą kartę, która jest w stanie pomieścić RoBERTa Large, potrzebując około 1.1 GB przy kompresji Q8_0. Pojemność to brama — karta albo ją trzyma, albo nie.
-
02
Zdecyduj, jak długo trwają twoje rozmowy
Rozmowa zajmuje pamięć również, i rośnie w miarę trwania. Ustaw suwak na długość, której się spodziewasz, ponieważ przy długim kontekście karta, która łatwo obsługuje krótkie pytania, może zostać odrzucona przez RoBERTa Large.
-
03
Ustal minimalną jakość
Kolumna kwantyzacji różni się w zależności od karty, ponieważ większa karta przechowuje dokładniejszą kopię., osiągnięcie kompresji Q8_0 na najmniejszej karcie, która się mieści. Ustalenie minimalnej jakości odrzuca karty, które tylko ją osiągają, uciskając bardziej niż byś chciał, i utrzymuje porównanie na jednym poziomie.
-
04
Porównaj TOKENS na sekundę, a nie SPECYFIKACJE.
Szybkość zamawiania jest w rzeczywistości zamawianiem według pasma pamięci, dla RoBERTa Large. Nie dopasuje się do zamówienia gier, ponieważ generacja jest ograniczona przez przepustowość pamięci. Karta na szczycie listy to B200, w 9,544 tok/s
-
05
Przeczytaj kolumnę dopasowania jako ostatnią
Tight dopasowanie działa, ale nie zostawia nic na dłuższą rozmowę, w przypadku RoBERTa Large. Wygodne oznacza, że możesz później zwiększyć kontekst. Ta różnica ma większe znaczenie niż kilka tokenów na sekundę, więc kupuj za wygodne, jeśli tego oczekujesz.
-
06
Sprawdź kartę z drugiej strony
Śledzenie karty do jej własnej strony pokazuje każdy inny model, który może pomieścić, co jest pytaniem, które pojawia się po podjęciu decyzji o RoBERTa Large.
Odpowiedzi
RoBERTa Large — częste pytania
RoBERTa Large— ile ma parametrów?
Ma liczbę parametrów równą 355M. 355M https://github.com/facebookresearch/fairseq/blob/main/examples/roberta/README.md. Ta liczba to całkowita, i to ona decyduje o tym, ile pamięci potrzebuje model — mniej więcej pół gigabajta na miliard przy kompresji, którą używa większość ludzi.
RoBERTa Large— kto to stworzył?
Zostało opublikowane przez Facebook,University of Washington, oparty na United States of America, organizacja sklasyfikowana jako industry,Academia.
RoBERTa Large— kiedy to zostało wydane?
Zostało opublikowane w July 2019. Możliwość na parametr znacznie się poprawiła, więc nowszy model tej samej wielkości często lepiej wykorzystuje ten sam sprzęt.
RoBERTa Large— do czego to służy?
Działa w dziedzinie Language, i jest zarejestrowany jako realizujący zadanie question answering, Language modeling/generation. To są obszary, wokół których został zaprojektowany; opisują zamiar, a nie twardą granicę.
RoBERTa Large— Gdzie mogę to pobrać?
Wagi są opublikowane, chociaż nie posiadamy linku do repozytorium. Ta strona oblicza wymagania sprzętowe, a nie hostuje pliki modelu.
RoBERTa Large— ile mocy obliczeniowej użyto do jego trenowania?
Szkolenie zajęło około 8.5 × 10²¹ FLOP, na sprzęcie zarejestrowanym jako NVIDIA Tesla V100 DGXS 32 GB. To mierzy, ile kosztowało wyprodukowanie modelu i nie mówi nic o tym, jak szybko odpowiada po wytrenowaniu — prędkość wnioskowania pochodzi z SZEROKOŚCI PASMA, a nie z budżetu treningowego.
RoBERTa Large— czy mogę go uruchomić, jeśli nie mieści się w moim GPU?
Tylko przez odciążenie, co zwykle jest fałszywą oszczędnością: część trzymana w pamięci systemowej spowalnia cały proces. Każda figura tutaj zakłada, że cały model jest zainstalowany na karcie.
RoBERTa Large— czy dwa GPU uruchomią to szybciej?
Pojemność sumuje się w kartach; przepustowość nie. Liczba kart, które już same ją posiadają: 818. Więc druga karta rzadko jest odpowiedzią tutaj.
RoBERTa Large— dlaczego kwantyzacja różni się między kartami?
Każda KARTA jest przedstawiana z uruchomioną najmniej skompresowaną wersją, jaką może pomieścić. Liczba odmiennych poziomów kompresji w KARTACH, które mogą go pomieścić: 1. Większe karty otrzymują dokładniejszą wersję, a minimalna jakość powyżej ustala porównanie na jednym poziomie.
RoBERTa Large— Jak dokładne są te szacunki prędkości?
To są szacunki z rzeczywistymi marginesami błędu, a każdy z nich mógłby rozsądnie wypaść gdziekolwiek w swoim opublikowanym zakresie w zależności od używanego uruchomienia. Najszybszy wynik tutaj: 5,727–15,271 tok/s na B200. Ten sam model i karta różnią się o trzydzieści do pięćdziesięciu procent w zależności od oprogramowania inferencyjnego i jego wersji.
RoBERTa Large— Jaką GPU potrzebuję, aby ją uruchomić?
Najmniejsza karta w naszym katalogu, która to pomieści, to Tesla C1080, o pojemności pamięci 4 GB. Uruchamia model przy kompresji Q8_0 używając około 1.1 GB, i produkuje w przybliżeniu 104 tokenów na sekundę. Liczba kart, które mogą go uruchomić łącznie: 818.
RoBERTa Large— jak szybko działa na GPU?
To zależy od karty. Najszybciej obliczamy to B200, około 9,544 tokenów na sekundę; najwolniejszy, który nadal działa, osiąga znacznie mniej. Prędkość odczytu wynosi około dziesięciu tokenów na sekundę, a liczba kart, które to osiągają: 817.
RoBERTa Large— Ile VRAM-u potrzebuje?
Potrzebuje około 1.1 GB przy kompresji Q8_0, który jest najmniejszą kartą, która to uruchamia. Mniej kompresji potrzebuje więcej: liczby w kolumnie pamięci powyżej są przeliczane dla każdej karty, ponieważ każda z nich trzyma wersję o najmniejszej kompresji, jaką może.
RoBERTa Large— czy mogę uruchomić to na GPU trzymając 8 GB?
Tak. Karta CMP 170HX 8 GB, trzymanie 8 GB, uruchamia go przy kompresji Q8_0, używając około 1.1 GB i generując w przybliżeniu 1,778 tokenów na sekundę. Dopasowanie jest komfortowe.
RoBERTa Large— czy mogę uruchomić to na GPU trzymając 12 GB?
Tak. Karta GeForce RTX 3080 Ti, trzymanie 12 GB, uruchamia go przy kompresji Q8_0, używając około 1.1 GB i generując w przybliżeniu 1,089 tokenów na sekundę. Dopasowanie jest komfortowe.
RoBERTa Large— czy mogę uruchomić to na GPU trzymając 16 GB?
Tak. Karta Tesla V100 SXM2 16 GB, trzymanie 16 GB, uruchamia go przy kompresji Q8_0, używając około 1.1 GB i generując w przybliżeniu 1,348 tokenów na sekundę. Dopasowanie jest komfortowe.
RoBERTa Large— czy mogę uruchomić to na GPU trzymając 24 GB?
Tak. Karta GeForce RTX 5090 D V2, trzymanie 24 GB, uruchamia go przy kompresji Q8_0, używając około 1.1 GB i generując w przybliżeniu 1,599 tokenów na sekundę. Dopasowanie jest komfortowe.
RoBERTa Large— czy jest open weight?
Jego wagi są opublikowane, więc można je pobrać i uruchomić na własnym sprzęcie. Zauważ, że OPEN WEIGHTS nie są tym samym co OPEN SOURCE w pełnym sensie — nie mówi nic o danych treningowych, kodzie treningowym, ani warunkach komercyjnych.
Druga strona
Patrząc na to z drugiej strony?
Ta strona zaczyna się od modelu. Jeśli już posiadasz kartę i chcesz wiedzieć, co wszystko będzie działać., Zacznij od sprzętu zamiast.