Σημεία αναφοράς gpu βαθιάς μάθησης

Εκπαιδεύουμε συνεχώς γλωσσικά μοντέλα για τη δουλειά μας. Η ομάδα μας χρησιμοποιεί δεκάδες διαφορετικές κάρτες βίντεο που έχουν επιλεγεί για διαφορετικές εργασίες: κάπου χρειαζόμαστε έναν ισχυρό σταθμό DGX και κάπου αρκεί μια παλιά κάρτα gaming όπως το RTX 2080Ti. Η επιλογή της βέλτιστης GPU για εκπαίδευση μοντέλου μπορεί να επηρεάσει σημαντικά τόσο την ταχύτητα όσο και τη σχέση κόστους-αποτελεσματικότητας της διαδικασίας.

Αυτό που είναι ενδιαφέρον είναι ότι υπάρχουν αρκετά άρθρα στο διαδίκτυο με σύγκριση GPU για μηχανική μάθηση, αλλά πολύ λίγα επικεντρώνονται στην ταχύτητα για εκπαίδευση γλωσσικών μοντέλων. Κυρίως βρίσκονται μόνο τεστ συμπερασμάτων. Όταν κυκλοφόρησε το νέο τσιπ H100, η έκθεση της NVidia ανέφερε ότι ήταν έως και εννέα φορές ταχύτερο από το A100 στην προπόνηση, αλλά για τις εργασίες μας, η νέα κάρτα ήταν μόνο 90% ταχύτερη από την παλιά. Συγκριτικά, οι πάροχοι cloud μας είχαν διαφορά τιμής 2 φορές μεταξύ αυτών των GPU, επομένως δεν είχε νόημα η μετάβαση στο νέο H100 για εξοικονόμηση χρημάτων.

Επιπλέον, κάναμε για δοκιμή έναν σταθμό DGX, ο οποίος αποτελείται από 8 κάρτες γραφικών A100 80 GB και κοστίζει 10 χιλιάδες δολάρια το μήνα. Μετά τη δοκιμή, έγινε σαφές ότι η αναλογία τιμής/απόδοσης αυτού του σταθμού δεν μας ταιριάζει καθόλου και για αυτά τα χρήματα, μπορούμε να πάρουμε 66 x RTX 3090, το οποίο συνολικά θα είναι πολύ πιο χρήσιμο.

Τα μοντέλα της μεταφραστικής μας γλώσσας έχουν έως και 500 εκατομμύρια παραμέτρους (100 εκατομμύρια έως 300 εκατομμύρια κατά μέσο όρο). Είναι πιθανό ότι εάν αυξήσουμε σημαντικά τον αριθμό των παραμέτρων, ο λόγος τιμής/απόδοσης του DGX θα είναι καλύτερος. Επί του παρόντος, δεν εκπαιδεύουμε μεγάλα γλωσσικά μοντέλα που μπορούν να μεταφράσουν μεταξύ όλων των γλωσσών σε όλες τις παραλλαγές ταυτόχρονα, αλλά χρησιμοποιούν ξεχωριστά γλωσσικά μοντέλα για κάθε ζεύγος γλωσσών,. Αγγλο-γερμανικά. Κάθε ένα από αυτά τα μοντέλα διαρκεί από 120 έως 300 Mb.

Αξίζει να σημειωθεί ότι διαφορετικές γλώσσες έχουν διαφορετικές ποσότητες δεδομένων στο Διαδίκτυο, και ενώ. Για παράδειγμα, για τα ισπανικά, μπορείτε να βρείτε 500 εκατομμύρια προτάσεις με μεταφράσεις, αλλά όταν εκπαιδεύετε μοντέλα για πιο σπάνιες γλώσσες όπως τα Θιβετιανά, πρέπει να επιλέξετε μια συγκεκριμένη GPU για εργασίες μηχανικής εκμάθησης με βάση τα διαθέσιμα δεδομένα. Για να δημιουργήσουμε ένα μοντέλο μετάφρασης από τα αγγλικά στα ισπανικά, χρησιμοποιούμε έναν διακομιστή με 4 x RTX 4500 και 256 GB RAM. Ταυτόχρονα, η θιβετιανή γλώσσα μπορεί να εκπαιδευτεί στο RTX 2080 Ti με 16 GB RAM, καθώς δεν έχει νόημα να αυξηθεί η πολυπλοκότητα του νευρωνικού δικτύου και, ως εκ τούτου, να ληφθεί ένας πιο ισχυρός διακομιστής με μικρό όγκο δεδομένων.

Επιλογή επεξεργαστών γραφικών και θεωρητικών σχημάτων

Η εκπαίδευση μοντέλων γλώσσας πραγματοποιήθηκε στην εσωτερική μας πλατφόρμα Data Studio χρησιμοποιώντας το πλαίσιο OpenNMT-tf. Αυτή η φάση περιελάμβανε προετοιμασία δεδομένων, εκπαίδευση μοντέλων και σύγκριση μοντέλων με μετάφραση αναφοράς. Η χρήση του FP16 αντί του FP32 κατά τη διάρκεια της εκπαίδευσης μας επέτρεψε να μειώσουμε σημαντικά τον χρόνο εκπαίδευσης των γλωσσικών μοντέλων χωρίς να υποβαθμίσουμε την ποιότητα της μετάφρασης, αλλά δεν το υποστήριξαν όλες οι GPU μας.

Όταν επιλέγετε έναν επεξεργαστή γραφικών, είναι στάνταρ να λαμβάνετε υπόψη μετρήσεις όπως η ισχύς επεξεργασίας (TFLOPS), η μνήμη βίντεο (VRAM), τα αποτελέσματα αναφοράς GPU, η υποστήριξη βιβλιοθήκης και πλαισίου, ο προϋπολογισμός και άλλοι παράγοντες (μέγεθος και συντελεστής μορφής κάρτας γραφικών, απαιτήσεις ισχύος, ψύξη και συμβατότητα με το σύστημά σ Κατά την εκπαίδευση μοντέλων δημιουργίας κειμένου, θα πρέπει επίσης να έχετε κατά νου ότι διαφορετικές γλώσσες θα καταναλώνουν διαφορετικές ποσότητες πόρων. Για παράδειγμα, 1 byte χρησιμοποιείται για την κωδικοποίηση ενός χαρακτήρα για τις λατινικές γλώσσες, 2 byte για τις κυριλλικές γλώσσες και 3 byte για γλώσσες που περιέχουν ιερογλυφικά. Η κατανόηση των χαρακτηριστικών που θα έχει η κάρτα γραφικών σας έχει σημαντικό αντίκτυπο στην ταχύτητα της μαθησιακής διαδικασίας.

Κατά την εκπαίδευση των μοντέλων όσον αφορά τις GPU που χρησιμοποιήθηκαν, οι κάρτες βίντεο χωρίστηκαν σε δύο ομάδες ανάλογα με την περίοδο χρήσης: πρώιμες κάρτες βίντεο, οι οποίες χρησιμοποιήθηκαν για να γίνουν οι πρώτες μετρήσεις της ταχύτητας εκμάθησης και κάρτες που χρησιμοποιούνται αυτήν τη στιγμή. Τα κύρια χαρακτηριστικά αυτών των καρτών γραφικών βρίσκονται στον Πίνακα 1 και στον Πίνακα 2, αντίστοιχα.

Πίνακας 1 - Επεξεργαστές γραφικών που χρησιμοποιήθηκαν στο παρελθόν και οι τεχνικές τους παράμετροι
 

Number of GPUsGPUVRAM, GCUDAFP16,
TFLOPS
FP32,
TFLOPS
1Tesla V100-SXM2HBM2, 167.031.3316.31
2Tesla V100-SXM2HBM2, 327.031.3315.67
1RTX 4060 TiGDDR6, 88.922.0622.06
1Nvidia A40GDDR6, 488.637.4237.42
2Nvidia A40GDDR6, 968.637.4237.42
1Nvidia A100HBM2, 408.077.9719.49
1Nvidia A100HBM2, 808.077.9719.49
1Nvidia RTX A6000GDDR6, 488.638.7138.71
1Nvidia A10GDDR6, 248.631.2431.24
8Nvidia A10GDDR6, 1928.631.2431.24
1Nvidia H100HBM3, 809.0204.951.22


Σημειώσεις
1. Με CUDA μεγαλύτερο από 7, 0, η χρήση του FP16 θα δώσει ώθηση στην ταχύτητα προπόνησης, ανάλογα με την έκδοση CUDA και τα χαρακτηριστικά της ίδιας της κάρτας γραφικών.
2. Εάν η προδιαγραφή της κάρτας γραφικών υποδεικνύει ότι η αναλογία απόδοσης FP16 προς FP32 είναι μεγαλύτερη από 1 προς 1, τότε η χρήση μικτής ακρίβειας θα είναι εγγυημένη ότι θα αυξήσει την ταχύτητα εκπαίδευσης κατά το ποσό που καθορίζεται στην προδιαγραφή. Για παράδειγμα, για το Quadro RTX 6000 η τιμή FP16 TFLOPS 32, 62 (2:1) θα επιταχύνει την προπόνηση κατά τουλάχιστον δύο φορές (2, 4 φορές στην πράξη)

Πίνακας 2 - Μοντέλα GPU που χρησιμοποιούνται σήμερα και τα κύρια χαρακτηριστικά τους
 

Number of GPUs in useGPUVRAM, GCUDAFP16,
TFLOPS
FP32,
TFLOPS
1Quadro RTX 6000GDDR6, 247.532.6216.31
2Quadro RTX 6000GDDR6, 487.532.6216.31
4Quadro RTX 6000GDDR6, 967.532.6216.31
2Nvidia TITAN RTXGDDR6, 487.532.6216.31
4Nvidia RTX A4500GDDR6, 968.623.6523.65
1Nvidia GeForce RTX 3090GDDR6X, 248.635.5835.58
1Nvidia GeForce RTX 3070GDDR6, 88.620.3120.31

* - οι τιμές για FP16, TFLOPS και FP32,TFLOPS λαμβάνονται από τις προδιαγραφές ανά GPU

Διαδικασία εκπαίδευσης και δοκιμών GPU

Τα μοντέλα εκπαιδεύτηκαν χρησιμοποιώντας ένα σύνολο 18 GPU. Στη διαδικασία της εκπαίδευσης νευρωνικών δικτύων, χρησιμοποιήσαμε πολυάριθμα ζεύγη γλωσσών (περισσότερες από εκατό γλώσσες). Οι δοκιμές GPU βοήθησαν στον εντοπισμό του υλικού που αποδίδει καλύτερα για συγκεκριμένες εργασίες. Κατά τη διάρκεια της εκπαίδευσης των γλωσσικών μας ζευγών, ελήφθησαν ως βάση οι ακόλουθες παράμετροι νευρωνικών δικτύων:
 

  • μέγεθος φωνής = 30 000
  • numunits = 768
  • στρώματα = 6
  • κεφάλια = 16
  • εσωτερική διάσταση = 4 096


Πρώτον, ας χαρακτηρίσουμε τις GPU που ανήκαν στην πρώτη ομάδα με βάση τον Πίνακα 1. Ως βάση για τη σύγκριση των δεικτών θα ληφθεί ο χρόνος σε λεπτά και δευτερόλεπτα που αφιερώθηκε στην εκπαίδευση του μοντέλου με ταχύτητα περίπου 1.000 βημάτων και πολλαπλάσιο μέγεθος παρτίδας 100.000 μονάδων.

Τονίζουμε ότι για την πρώτη ομάδα πραγματοποιήθηκαν οι μετρήσεις ταχύτητας με τη χρήση του ευθυγράμμιση μηχανισμός και μόνο με τη χρήση ΠΠ32. Χωρίς τη χρήση αυτού του μηχανισμού, η ταχύτητα εκμάθησης σε ορισμένους διακομιστές μπορεί να είναι πολύ πιο γρήγορη.

Ο μηχανισμός ευθυγράμμισης επιτρέπει την αντιστοίχιση υποσυμβολοσειρών στη βάση και στο μεταφρασμένο κείμενο. Απαιτείται η μετάφραση μορφοποιημένου κειμένου, όπως ιστοσελίδες, όταν μια υποσυμβολοσειρά σε μια πρόταση μπορεί να επισημανθεί με διαφορετική γραμματοσειρά και θα πρέπει να μεταφραστεί με την επισήμανση.

Λαμβάνοντας υπόψη τις προαναφερθείσες παραμέτρους του νευρωνικού δικτύου, τον καλύτερο χρόνο από τον πρώτο πίνακα έδειξε η GPU Nvidia H100 με χρόνο εκμάθησης 22 λεπτών, και ο ενδιάμεσος χρόνος εμφανίστηκε από την GPU της ίδιας μάρκας GeForce RTX 4060 Ti με χρόνο εκμάθησης 72 λεπτά και την τελευταία θέση πήρε η GPU Tesla V100-SXM 2 με χρόνο εκμάθησης 140 λεπτά.

Υπήρχαν επίσης οκτώ κάρτες Nvidia A10 στο τεστ GPU με καμπύλη εκμάθησης 20 λεπτών και 28 δευτερολέπτων, δύο κάρτες Nvidia A40 με χρόνο 56 λεπτών και δύο κάρτες Tesla V100-SXM που χρονίζουν στα 86 λεπτά. Η ταυτόχρονη εφαρμογή πολλαπλών καρτών της ίδιας σειράς GPU μπορεί να επιταχύνει τη διαδικασία εκπαίδευσης των μοντέλων και να εμφανιστεί σχεδόν ταυτόχρονα με GPU που έχουν υψηλότερες χωρητικότητες, αλλά μια τέτοια τεχνική μπορεί να μην είναι αρκετά ορθολογική οικονομικά και διαδικαστικά. Τα αποτελέσματα των μετρήσεων ταχύτητας μάθησης μπορούν να παρατηρηθούν στον Πίνακα αριθμό 3.

Πίνακας 3 - Μετρήσεις χρόνου εκπαίδευσης στους προηγουμένως χρησιμοποιημένους γραφικούς χάρτες
 

Using the alignment mechanism
Effective batch size = 100 000
FP 32
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
8Nvidia A1020,286 250
1Nvidia H1002225 000
1A100 (80 Gb)4025 000
1A100 (40 Gb)5615 000
2Nvidia A405612 500
1RTX A600068,2512 500
1GeForce RTX 4060 Ti724 167
1Nvidia A4082,0812 500
2Tesla V100-SXM864 167
1Nvidia A10104,505 000
1Tesla V100-SXM21404 167


Στη συνέχεια, ας πραγματοποιήσουμε μια συγκριτική ανάλυση των πεντάλ αερίου γραφικών που χρησιμοποιούνται αυτήν τη στιγμή (Πίνακας 2). Για αυτήν την ομάδα επεξεργαστών γραφικών, πραγματοποιήθηκαν μετρήσεις ταχύτητας χρησιμοποιώντας το ευθυγράμμιση μηχανισμός, καθώς και χρήση του ΠΠ16 και του ΠΠ32. Οι μετρήσεις ταχύτητας συμπεριλαμβανομένου αυτού του μηχανισμού και της μικτής ακρίβειας θα παρουσιαστούν παρακάτω στους Πίνακες 4 και 5 αντίστοιχα.

Έτσι, έχοντας μετρήσει την ταχύτητα των GPU από αυτόν τον πίνακα, μπορούμε να πούμε ότι την πρώτη θέση κατέλαβε η GPU της σειράς RTX A4500 με χρόνο εκπαίδευσης 31 λεπτά, αλλά πρέπει να τονιστεί ότι μια τέτοια ταχύτητα μοντέλων εκπαίδευσης επιτεύχθηκε αυξάνοντας τον αριθμό των μονάδων της χρησιμοποιούμενης GPU έως και 4. Παραβλέποντας αυτό το γεγονός, η ταχύτητα εκπαίδευσης της προαναφερθείσας GPU θα είναι πολύ μεγαλύτερη, γεγονός που θα την τοποθετήσει στην προτελευταία θέση του τελικού πίνακα.

Η GPU της σειράς Quadro RTX 6000 με χρόνο εκμάθησης 47 λεπτών βρίσκεται στη δεύτερη θέση. Θα πρέπει να σημειωθεί ότι μια τέτοια ταχύτητα εκπαίδευσης εξαρτάται αντιστρόφως από τον αριθμό των μονάδων του χρησιμοποιούμενου επεξεργαστή, ο οποίος είναι ίσος με τέσσερις. Η χρήση μόνο μιας τέτοιας GPU θα έδινε απώλεια ταχύτητας περίπου 3, 2 φορές και κατά συνέπεια θα ήταν περίπου 153 λεπτά και θα την τοποθετούσε στην τελευταία θέση.

Την τρίτη γραμμή πήρε η GPU της σειράς TITAN RTX με χρόνο 75 λεπτά και 85 δευτερόλεπτα. Αυτή η βαθμολογία ταχύτητας μάθησης οφείλεται στη χρήση 2 επεξεργαστών, οι οποίοι μείωσαν τον χρόνο εκπαίδευσης του μοντέλου.

Ο αδιαμφισβήτητος ηγέτης όσον αφορά την ταχύτητα προπόνησης στον αριθμό μιας μονάδας θα είναι σίγουρα η GPU της σειράς GeForce RTX 3090 με χρόνο 78 λεπτά και 26 δευτερόλεπτα. Η αύξηση του αριθμού των μονάδων αυτής της GPU θα επιταχύνει την ταχύτητα εκπαίδευσης του μοντέλου, η οποία θα ξεπεράσει σαφώς όλα τα προαναφερθέντα μοντέλα GPU. Τα δεδομένα για τις μετρήσεις του χρόνου εκπαίδευσης του μοντέλου φαίνονται στον Πίνακα 4.

Πίνακας 4 - Συγκριτική ανάλυση της ταχύτητας εκπαίδευσης γλωσσικών μοντέλων σε GPU που χρησιμοποιήθηκαν προηγουμένως
 

Using the alignment mechanism
Effective batch size = 100 000
FP 32
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
4Nvidia RTX A4500315 000
4Quadro RTX 6000476 250
2Nvidia TITAN RTX75,856 250
1GeForce RTX 309078,266 250
2Quadro RTX 6000886 250
1GeForce RTX 3070104,172 000
1Quadro RTX 60001536 250


Οι ακόλουθες μετρήσεις ταχύτητας εκπαίδευσης πραγματοποιήθηκαν χρησιμοποιώντας το FP16. Σε σύγκριση με το FP32, η μισή ακρίβεια επιτρέπει τη μείωση της ποσότητας μνήμης που καταναλώνεται κατά την εκπαίδευση του μοντέλου και την επιτάχυνση του υπολογισμού στη GPU. Η ακρίβεια της αναπαράστασης θα είναι χαμηλότερη από ό, τι με τη χρήση του FP32.

Μετρώντας τον χρόνο εκπαίδευσης των μοντέλων που χρησιμοποιούν FP32 από τον προηγούμενο πίνακα, μπορούμε να πούμε ότι ο χρόνος εκπαίδευσης του νευρωνικού δικτύου μειώθηκε σχεδόν δύο φορές. Με βάση τα αποτελέσματα της μέτρησης απόδοσης, μπορούμε να παρατηρήσουμε από τα σημεία αναφοράς GPU μηχανικής μάθησης στον Πίνακα 4 ότι οι θέσεις των GPU παρέμειναν σε μεγάλο βαθμό αμετάβλητες. Η κάρτα της σειράς Quadro RTX 6000 ανέβηκε από την πέμπτη θέση στην έκτη, νικώντας την GeForce RTX 3090 GPU κατά 96 δευτερόλεπτα. Οι τελικοί αριθμοί φαίνονται στον Πίνακα 5.

Πίνακας 5 - Συγκριτική ανάλυση της ταχύτητας εκπαίδευσης γλωσσικών μοντέλων σε GPU που χρησιμοποιήθηκαν προηγουμένως
 

Using the alignment mechanism
Effective batch size = 100 000
FP 16
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
4Nvidia RTX A450015,8110 000
4Quadro RTX 600020,3412 500
2Nvidia TITAN RTX32,686 250
2Quadro RTX 600037,9310 000
1GeForce RTX 309038,8910 000
1GeForce RTX 307048,512 500
1Quadro RTX 600052,5610 000

Συχνές Ερωτήσεις (Συχνές Ερωτήσεις)

Αξίζει να αγοράσετε μια GPU για βαθιά μάθηση?

Η αγορά μιας GPU για βαθιά μάθηση μπορεί να βελτιώσει σημαντικά την ταχύτητα και την αποτελεσματικότητα της εκπαίδευσης, καθιστώντας την μια αξιόλογη επένδυση για σοβαρά έργα. Ωστόσο, η απόφαση θα πρέπει να λαμβάνει υπόψη παράγοντες όπως ο προϋπολογισμός, συγκεκριμένες περιπτώσεις χρήσης και εάν οι λύσεις cloud μπορεί να είναι πιο οικονομικά αποδοτικές.

Ποια GPU είναι καλύτερη για βαθιά μάθηση?

Το NVIDIA A100 θεωρείται συχνά η κορυφαία επιλογή για βαθιά μάθηση, προσφέροντας εξαιρετική απόδοση και μνήμη για μεγάλα μοντέλα. Για χρήστες που γνωρίζουν τον προϋπολογισμό, το NVIDIA RTX 3090 παρέχει ισχυρές δυνατότητες για αποτελεσματικά μοντέλα εκπαίδευσης.

Είναι καλύτερη η AMD ή η NVIDIA για βαθιά μάθηση?

Το NVIDIA προτιμάται γενικά για βαθιά μάθηση λόγω του ισχυρού οικοσυστήματος λογισμικού του, το οποίο ενισχύει την απόδοση και τη συμβατότητα με δημοφιλή πλαίσια. Ενώ οι GPU AMD έχουν βελτιωθεί, εξακολουθούν να υστερούν σε σχέση με το NVIDIA όσον αφορά τη βελτιστοποίηση και την υποστήριξη εφαρμογών βαθιάς μάθησης.

Βοηθάει η GPU στο NLP?

Ναι, οι GPU επιταχύνουν σημαντικά την εκπαίδευση νευρωνικών δικτύων στην επεξεργασία φυσικής γλώσσας (NLP) χειριζόμενοι αποτελεσματικά παράλληλους υπολογισμούς. Αυτή η ώθηση ταχύτητας επιτρέπει ταχύτερο πειραματισμό και επανάληψη, οδηγώντας σε βελτιωμένη απόδοση του μοντέλου και μειωμένους χρόνους προπόνησης.

Περιμένουν πιο συναρπαστικά αναγνώσματα

Τι Είναι Η Αναγνώριση Ομιλίας Επί Της Εγκατάστασης?

Τι Είναι Η Αναγνώριση Ομιλίας Επί Της Εγκατάστασης?

September 19, 2024

Αξιολόγηση της στατιστικής σημασίας στο μεταφραστικό σύστημα

Αξιολόγηση της στατιστικής σημασίας στο μεταφραστικό σύστημα

September 10, 2024

Αναγνώριση Λόγου στο Μάρκετινγκ

Αναγνώριση Λόγου στο Μάρκετινγκ

August 23, 2024

Ζητήστε μια δωρεάν δοκιμή

0/250
* Υποδεικνύει υποχρεωτικό πεδίο

Το απόρρητό σας είναι υψίστης σημασίας για εμάς. τα δεδομένα σας θα χρησιμοποιηθούν αποκλειστικά για λόγους επικοινωνίας.

E-mail

Ολοκληρώθηκε το

Το αίτημά σας στάλθηκε με επιτυχία

× 
Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site.

We also use third-party cookies that help us analyze how you use this website, store your preferences, and provide the content and advertisements that are relevant to you. These cookies will only be stored in your browser with your prior consent.

You can choose to enable or disable some or all of these cookies but disabling some of them may affect your browsing experience.

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Always Active

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Always Active

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Always Active

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Always Active

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.