Please use this identifier to cite or link to this item: https://dspace.univ-adrar.edu.dz/jspui/handle/123456789/237
Title: Distributed Memory Bound Word Counting For Large Corpora
Other Titles: & Sennoussi Fayssal Taqiy Eddine
Authors: Bekraoui, Mohamed Lamine
Sennoussi, Fayssal Taqiy Eddine
Mediani, Mohammed (Supervised by)
Keywords: Memory
NLP
STXXL
Corpora
disk
corpus
disque
Issue Date: 2018
Publisher: Ahmed Draia University - Adrar
Abstract: Abstract: Statistical Natural Language Processing (NLP) has seen tremendous success over the recent years and its applications can be met in a wide range of areas. NLP tasks make the core of very popular services such as Google translation, recommendation systems of big commercial companies such Amazon, and even in the voice recognizers of the mobile world. Nowadays, most of the NLP applications are data-based. Language data is used to estimate statistical models, which are then used in making predictions about new data which was probably never seen. In its simplest form, computing any statistical model will rely on the fundamental task of counting the small units constituting the data. With the expansion of the Internet and its intrusion in all aspects of human life, the textual corpora became available in very large amounts. This high availability is very advantageous performance-wise, as it enlarges the coverage and makes the model more robust both to noise and unseen examples. On the other hand, training systems on large data quantities raises a new challenge to the hardware resources, as it is very likely that the model will not fit into main memory. This is where the external memory (disk) comes in handy. The idea of exploiting the disks to hold parts of the data while working on other parts in main memory proved very useful in many NLP tasks. In particular, the tasks which may inflate the training data with combinatorial compositions, such as machine translation or language modelling. However, to the best of our knowledge, the solutions which exist for this purpose do not take full advantage of the parallel architectures which are very common nowadays. This work is an initial step towards combining parallelism with external memory in the n-gram counting task. We build our solution on top of the STXXL library, which gives access to many ready-to-use external memory data structures, while supporting parallelism in the IO level. We go a step further, by distributing the computation over many machines each of which runs the computation using multiple threads. The result is a highly parallel solution, which can perform counting on large datasets on limited resources hardware. Our solution can achieve up to 4 times speedup over a single unit-single disk solution. To the best of our knowledge, software products which perform this task (e.g.KenLM) have the following limitations: assuming that the vocabulary is not larger than the ram, don’t support distributed parallelism and don’t support parallel disk model. Our work some with the objective to overcome these limitations by indexing the text wish give us the ability to support large vocabulary , use STXXL wish give us the ability to support parallel disk model , use different component to support distributed parallelism. This thesis describes the several performance techniques used to apply our solutions.الملخص: لقد شھدت معالجة اللغات الطبيعية الإحصائية نجاحًا ھائلاً خلال السنوات الأخيرة، ويمكن رؤية تطبيقاتھا في مجموعة واسعة من المجالات. إن مھام المعالجة الآلية للغة ھي أساس الخدمات المشھورة للغاية مثل ترجمة 'جوجل' وأنظمة التوصية الخاصة بالشركات التجارية الكبرى مثل ‘أمازون'، وحتى في أجھزة التعرف على الصوت في عالم الھواتف المحمولة. في الوقت الحاضر، معظم تطبيقات المعالجة الآلية للغة تعتمد على البيانات. يتم استخدام بيانات اللغة لتقدير النماذج الإحصائية، والتي يتم استخدامھا بعد ذلك في إجراء تنبؤات حول البيانات الجديدة التي ربما لم يسبق رؤيتھا. في أبسط الحالات، يعتمد حساب أي نموذج إحصائي على المھمة الأساسية المتمثلة في ع د الوحدات المشكلة للبيانات. مع التوسع في الإنترنت وتدخلھا في جميع جوانب الحياة البشرية، أصبحت النصوص متاحة بكميات كبيرة جدا. ھذا الكم الھائل ھو شيء مفيد للغاية، لأنه يوسع التغطية ويجعل النموذج أكثر قوة ومقاومة للتشويش والأمثلة غير المرئية. من ناحية أخرى، تواجه ھذه الأنظمة التي تحتوي على كميات كبيرة من البيانات تحديًا جديدًا في الجھاز الحاسب، حيث من المحتمل جدًا ألا يتناسب حجم النموذج مع الذاكرة الرئيسية. وھاھنا يُفعل دور الذاكرة الخارجية (القرص). أثبتت فكرة استغلال الأقراص لحفظ بعض الأجزاء من البيانات أثناء العمل على أجزاء أخرى في الذاكرة الرئيسية أنھا مفيدة للغاية في العديد من تطبيقات معالجة اللغة. على وجه الخصوص، المھام التي قد تضخم بيانات التدريب لكثرة التركيبات، مثل الترجمة الآلية أو نمذجة اللغة. ومع ذلك، على حد علمنا، فإن الحلول الموجودة لھذا الغرض لا تستفيد استفادة كاملة من البنى الموازية الشائعة جدا في الوقت الحاضر. ھذا العمل ھو خطوة أولى نحو الجمع بين التوازي مع استعمال الذاكرة الخارجية في عد (ن-غرام) نحن نبني الحل اعتماداً على مكتبة والتي تتيح الوصول إلى العديد من ھياكل بيانات الذاكرة الخارجية الجاھزة للاستخدام، مع دعم التوازي في مستوى ،(STXXL) الادخال/والاخراج .ثم نذھب خطوة أخرى، من خلال توزيع الحساب على العديد من الأجھزة كل منھا يستخدم الحساب باستخدام انوية والنتيجة ھي حل متوازٍ للغاية، والذي يمكن أن يؤدي إلى الاعتماد على مجموعات البيانات الكبيرة على أجھزة .(threads) متعددة ذات موارد محدودة. الحل الذي قدمناه يمكن أن يحقق لنا ما يصل إلى 4 أضعاف السرعة على حل واحد لوحدة ذات قرص واحد. لديھا القيود التالية: تقوم بافتراض أن المفردات ليست أكبر ( KenLM وفقًا لمعرفتنا، المنتجات البرمجية التي تؤدي ھذه المھمة (مثل من الذاكرة الرئيسية ، ولا تدعم التوزيع المتوازي ولا تدعم نموذج القرص المتوازي. عملنا يھدف للتغلب على حل ھذه القيود عن طريق فھرسة النص بھدف منحنا القدرة على دعم مفردات كثيرة جدا، واستخدمنا بھدف منحنا القدرة على دعم نموذج القرص المتوازي، واستخدام عناصر مختلفة لدعم التوزيع المتوازي. (STXXL) تصف ھذه الرسالة العديد من التقنيات ذات الأداء الفعال المستخدmé: Le statistique Traitement Automatique de la Langue Naturelle (TALN) a connu un succès considérable au cours des dernières années et ses applications peuvent être satisfaites dans un large éventail de domaines. Tâches de la (TALN) font le noyau de services très populaires tels que la traduction Google, les systèmes de recommandation des grandes entreprises commerciales telles que Amazon, et même dans les connaisseurs de la voix du monde mobile. De nos jours, la plupart des applications (TALN) sont basées sur des données. Les données linguistiques sont utilisées pour estimer les modèles statistiques, qui sont ensuite utilisés pour faire des prédictions sur de nouvelles données qui n'ont probablement jamais été vues. Dans sa forme la plus simple, le calcul d'un modèle statistique reposera sur la tâche fondamentale de compter les petites unités constituant les données. Avec l'expansion d'Internet et son intrusion dans tous les aspects de la vie humaine, les corpus textuels sont devenus disponibles en très grande quantité. Cette haute disponibilité est très avantageuse en termes de performances, car elle élargit la couverture et rend le modèle plus robuste à la fois pour le bruit et les exemples non vus. D'un autre côté, la formation de systèmes sur de grandes quantités de données soulève un nouveau défi pour les ressources matérielles, car il est très probable que le modèle ne rentrera pas dans la mémoire principale. C'est là que la mémoire externe (disque) est utile. L'idée d'exploiter les disques pour conserver des parties des données tout en travaillant sur d'autres parties de la mémoire principale s'est avérée très utile dans de nombreuses tâches (TALN). En particulier, les tâches qui peuvent gonfler les données d'apprentissage avec des compositions combinatoires, telles que la traduction automatique ou la modélisation de langage. Cependant, à notre connaissance, les solutions qui existent à cet effet ne tirent pas pleinement parti des architectures parallèles qui sont très courantes de nos jours. Ce travail est une première étape vers la combinaison du parallélisme avec la mémoire externe dans la tâche de comptage n-gramme. Nous construisons notre solution en se basant sur la bibliothèque STXXL, qui donne accès à de nombreuses structures de données de mémoire externe prêtes à l'emploi, tout en prenant en charge le parallélisme au niveau des E / S. Nous allons plus loin, en répartissant le calcul sur de nombreuses machines dont chacune exécute le calcul en utilisant plusieurs threads. Le résultat est une solution hautement parallèle, qui peut effectuer le comptage sur de grands ensembles de données sur du matériel à ressources limitées. Notre solution peut atteindre jusqu'à 4 fois l'accélération sur une seule unité de disque unique. À notre connaissance, les produits logiciels qui exécutent cette tâche (par exemple, KenLM) ont les limitations suivantes: le vocabulaire n'est pas plus grand que la RAM, ne supportant ni le parallélisme distribué, ni le modèle de disque parallèle. Notre travail dans l'objectif de surmonter ces limitations en indexant le texte, nous permet de prendre en charge un large vocabulaire, l'utilisation de STXXL nous permet de prendre en charge des modèles de disques parallèles, d'utiliser différents composants pour supporter le parallélisme distribué. Cette thèse décrit les différentes techniques de performance utilisées pour appliquer nos solutions.م لتطبيق حلولنا.
URI: http://www.univ-adrar.dz:8080/xmlui/handle/123456789/237
Appears in Collections:Mémoires de Master

Files in This Item:
File Description SizeFormat 
distributed memory bound word.pdf755.95 kBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.