உளியருவி – Tamil tools for AI/ML

Motivation

In 2022 we are reaching a point where more Tamil datasets are available than Tamil tools – arunthamizh அருந்தமிழ். However the accessibility of fully-trained models and capability of providing pre-trained models are much harder and still require domain expertise in hardware and software. Personally I have published some small Jupyter notebooks (see here), and some simple articles, but they still remain inadequate to scale the breadth of Tamil computing needs in AI world among:

  1. NLP – Text Classification, Recommendation, Spell Checking, Correction tasks
  2. TTS – speech synthesis tasks
  3. ASR – speech recognition

While sufficient data exist for 1, the private corpora for speech tasks (அருந்தமிழ் பட்டியல்), the public corpora of a 300hr voice dataset recently published from Mozilla Common Voice (University of Toronto, Scarborough, Canada leading Tamil effort here) have enabled data completion to a large degree for tasks 2 and 3.

Ultimately the tooling provides capability to quickly compose AI services based on open-source tools and existing compute environment to host services and devices in Tamil space.

Proposal

My proposal is the following:

  1. Develop a open-source toolbox for pre-training and task training specialization
  2. Identify good components to base effort
  3. Contribute engineering effort, testing, and validation
    1. R&D – DataScience, Infra, AI framework
    2. Engineering Validation – DataScience, Tamil language expertise
    3. Engineering – packaging, documentation, distribution
    4. Project management
  4. Library to be liberally licensed MIT/BSD
  5. Open-Source license for developed models
  6. Find hardware resources for AI model pre-training etc.
  7. Managed by a steering committee / nominated BDFL
  8. Scope – decade time frame
  9. TBD – மேலும் பல.

Summary

Let’s build a pytorch-lightning like API for Tamil tasks across NLP, TTS, ASR via AI.

Leave your thoughts by email ezhillang -at- gmail -dot- com, or in comments section.

தமிழ் கணிமைக்கு செயற்கையறிவு சேவைகள்

இந்திய அழகியல் - விருந்தினர்கு வர்வேர்ப்ரை விளக்கு
இந்திய அழகியல் – விருந்தினர்கு வரவேர்ப்பறை விளக்கு. புதிய தொடக்கம்.

ஊருக்கு உபதேசம் இல்லாமல், தங்களது சேவைகளின் பயன்களை தாமே முதலில் பயன்படுத்துவதை ‘Eating your Dog Food‘ என்று கணினியாளர்கள் மத்தியில் பேசப்படுவதாவது.

இதன்படி தமிழ்கணிமைக்கு உதவும் வகையில் நேரடியாக தானியங்கி, செயற்கையறிவு சேவைகளை முதலில் தனது பயன்பாட்டிற்கு தமிழ் கணினியாளர்கள் கையாளவேண்டும்.

எனது பார்வையில் முதல்படி தேவைப்படும் சேவைகளானது:

  1. தானியங்கி வழி, கணினி உதவி ஆவனங்கள், பயிற்சி நூல்களை (training, tutorial manuals) மொழிபெயர்ப்பது
    • இந்த நூல்கள் அனைத்தும் சில கலைச்சொற்கள் தவிர மற்ற்வை அனைத்தும் ஒரே கோனத்தில் இருப்பவையாகின்றன. தானியங்கி மொழிபொயர்ப்பு செயலிகள் சரியனவையாக அமையும்.
    • இதன் முக்கியத்துவத்தை அதிகப்படுத்தி சொல்லமுடியாது. ஒவ்வொரு கலைசொல் அடங்கிய புத்தகமும் வெளிக்கொண்டுவர பல மாதங்களில் இருந்து சில ஆண்டுகள் ஆகின்றன – இந்த கால தாமத்தை குறைக்க வேண்டும்.
    • முக்கியமாக எனது பார்வையில் இந்த நூல்கள் விரைவில் தமிழாக்கம் ஆகவேண்டும்
      • Python மொழி உதவி ஆவணங்கள்
      • TensorFlow செயற்கையறிவு மென்பொருள் கட்டமைப்பு உதவி ஆவணங்கள்
  2. வீடியோ வழி, ஒலி வழி – உரை, கட்டுரை, நூல்கள் உருவாக்க செயற்கையறிவு செயலிகள்
    • தமிழில் கணினி சார்ந்த தகவல்களை தமிழ் கணினியாளர்கள் நேர்வழி பங்களிப்பதும் பயன்படுத்துவதற்கும் ASR, OCR, Video close-captioning, போன்ற செயல்பாடுகள் பலரையும் தமிழ்கணிமைக்குள் வரவேர்க்க உதவும்.
    • புதிய கருத்துக்களையும், புதிய தகவல்களையும் தமிழிலேயே உருவாக்க இது உதவும்
  3. செயற்க்கையறிவு அணிமாதிரிகளை பொதுவாக “Model Zoo” என்று அருங்காட்சியகமாக பயன்படுத்துவது.
    • தமிழுக்காக பலரும் தங்களது செயற்கையறிவு கருவிகளை உருவாக்குகின்றனர். இவற்றில் பயிற்சி செய்வது ஆகக்கடினமானது, அதிக நேரம் கணிமை செலவெடுக்கும் வழியில் ஆனது. எனவே இவற்றை முடிந்த அளவில் பொதுவெளி (public domain) உரிமத்தில் வெளியிடல் சிறப்பானது
    • இதன் முதல் முயற்சி GitHub-இல் அருங்காட்சியகம்
  4. தமிழ் அகழாய்வு பற்றிய உதவி செயலிக்கள் (சற்று திசைமாரி மேல் சொன்னமாதிரி இந்த பயன்பாடு கணிமைக்கு நேர்வழி உதவாதது என்க்கு புலப்படுகின்றது)
    • ஒரு பானை ஓட்டில் எழுதப்பட்ட சொல் தமிழ், தமிழி (பிரமி), அல்லது எண்களா? அல்லது எழுத்துக்களா? என்பதனை கண்டறிய பொதுமக்கள் கைபேசியில் சொயலிகளின் வழி நிறுவி தொல்லியல் வல்லுநர்களுக்கு சிறந்த சரியான தகவல்கள் அளிக்கும் வகை இந்த செயலிகள் உதவும்.

மேலும் தமிழ் மொழி கல்வி, சிந்தனைக்களம், தகவல் பரிமாற்றம் போன்றவற்றைப்பற்றி நீங்களும் சிந்தியுங்கள் – கருத்துக்களை இந்த வலையில், அல்லது மின் அஞ்சலிலும் பதிவிடுங்கள்.

நன்றி.

 

Deep Learning – ஆழக்கற்றல்

ஆழக்கற்றல் பற்றிய சிறப்பான புத்தகம் ஒன்று இயன் குட்பெல்லோ, யொசுவா பென்ஜியோ மற்றும் ஆரன் கூவில் அவர்களால் 2016 நவம்பர்மாதத்தில் எழுதப்பட்டு MIT பல்கலைக்கழகத்தின் பதிப்பகத்தால் பரிசுரம் ஆனது. (இதனை இன்று என் கைகளில் நான் பெற்றதால் அதனை பற்றிய சிறிய பின் அட்டை விவரத்தை தமிழாக்கம் செய்வதில் ஒரு ஆர்வம், முயற்சி.) இந்த புத்தகம் அமேசானில் இங்கு அமெரிக்காவில் முப்பத்தாறு வெள்ளி மதிப்பில் வாங்கலாம்.

படம் 1: ஆழக்கற்றல் பற்றிய சிறப்பான புத்தகம் ஒன்று இயன் குட்பெல்லோ, யொசுவா பென்ஜியோ மற்றும் ஆரன் கூவில் அவர்களால் 2016 நவம்பர்மாதத்தில் எழுதப்பட்டு MIT பல்கலைக்கழகத்தின் பதிப்பகத்தால் பரிசுரம் ஆனது.

ஆழக்கற்றல் என்பது ஒருவகையான இயந்திர கற்றல் தொழில் நுட்பம். இதன் வழி கணினி அனுபம் மூலம், தினசரி பழக்கங்கள், பயன்பாட்டின் வாயிலான உதாரணங்களின் வழி, உலக வழக்குகளையும், அதன் படிநிலைகளையும், அதன் தொடர்புகளையும் தன்னைத்தானே உணரும் குனம் /தன்மை கொண்ட ஒரு தொழில்நுடபமாக அமைவதன் சிறப்பைக் கொண்டது ஆழக்கற்றல். கணினி தன்னாலேயே விதிகளை உதாரணத்தின் வாயிலாக உணர்வதால், ஒரு தனி கணினி இயக்குனர் / அல்லது நிரலாளர் தேவையில்லை; இதன் வழி அடிப்படை விதிகளை பட்டியலிட்டும் நிரல்படுத்தும் நிபந்தனைகளின் கட்டுப்பாட்டில் இருந்து நிரலாளர் விடுவிக்கப்படுகின்றார். கற்கும் செயலின் படிநிலை மனஉருக்களை கணினி ஒவ்வொரு கட்டமாக எளிதான நிலையில் இருந்து படிப்படியாக முனை-ஓர (கிராப்) எண்ணிம வடிவங்களின் படி இவற்றை ஆழமான நிலைவரை அடுக்கடுக்காக நிலைப்படுத்தி ஒரு செயலை கற்றுகுகொள்கிறது. (எனவே இதனை ‘ஆழக்கற்றல்’ என்று கூறுகிரோம்.) இந்தப் புத்தகத்தில் பலவிதமான ஆழக்கற்றல் தலைப்புகளை முன்வைக்கிறோம்.

இந்த பாடப்புத்தகம் ஆழக்கற்றல் கூறுகளை கற்றுக்கொள்ளத் தேவையான கணிமை, தகவல் தொழில்நுட்ப கணிமை, யுகிப்புக் கணிமை, எண்சார் கணிமை, மற்றும் இயந்திர கற்றல் அடிப்படை விஷயங்களையும் வழங்குகிறது. இதில பன்னாட்டு உலக்ப்புகழ்பெற்ற நிறுவனங்களில் இன்றைக்கும் பயன்படுத்தும் தொழில்நுடபங்கள் பற்றியும், ஆழக்கற்றல் பினைப்புகள், கற்றல் செயல்முறைகள், தேர்வுமுறை/சிறப்பிக்கும் செயல்முறைகள், கான்வலூஷன் பினைப்புகள், டோக்கன் தொடர் மாதிரி உருவாக்குதல்கள் அனைத்தையும் ஒரு நடைமுறை கோனத்தில் இந்த பாடப்புத்தகம் வழங்குகிறது; மேலும் இந்த புத்தகத்தில் இயல்மொழி பகுப்பாய்வு, பேச்சு உணர்தல், கணினி பார்வை, இணையம் வழி பரிந்துரைக்கும் செயலிகள், உயிரியல் கணிமை / மரபணு கணிமை, மற்றும் விடியோ விளையட்டுக்கள் பற்றியும் ஆழக்கற்றலின் பாய்ச்சல்/உபயோகங்களையும் பற்றி அலசுகிறது. கடைசியாக ஆராய்ச்சி நோக்கில், கோட்பாடுகளின் அளவில் linear factor மாதிரிகள், தான்குறிப்பிகள் [autoencoders], முன்மாதிரி கற்றல் [representative learning], structured probabilistic மாதிரிகள், மன்டே கார்லோ மாதிரிகள், partition சார்புகள், தோராயமான யுகித்தல், ஆழ உருவாக்கும் பினைப்புகள் [deep generative models] போன்ற தலைப்புகளிலும் தற்சமயம் உள்ள அறிவியல் முன்னேற்றங்களை பற்றி அறிமுகப்படுத்துகிறது.

இந்தப் புத்தகம், இளங்கலை மாணவர்களினாலும், முதுகலை மாணவர்களலாலும், அல்லது கணினிதுறையில் முழுநேர ஊழியர்கழினாலும் ஆழக்கற்றலை பற்றி கற்கவும், செயல்படுத்தவும், உதவிகரமாக பயன்படுத்தும்படி இருக்கும். இதனுடன் இணைத்த வலைதளத்தில் மாணவர்களும், ஆசிரியர்களும் பாடம் கற்க கூடுதல் அம்சங்களை பெறலாம்.

எனது மொழி பெயர்ப்பு மூல உரை ஆங்கிலத்தில் கீழே: MIT பதிப்பகத்தில் இருந்து எடுத்த உரை

Deep learning is a form of machine learning that enables computers to learn from experience and understand the world in terms of a hierarchy of concepts. Because the computer gathers knowledge from experience, there is no need for a human computer operator to formally specify all the knowledge that the computer needs. The hierarchy of concepts allows the computer to learn complicated concepts by building them out of simpler ones; a graph of these hierarchies would be many layers deep. This book introduces a broad range of topics in deep learning. 

The text offers mathematical and conceptual background, covering relevant concepts in linear algebra, probability theory and information theory, numerical computation, and machine learning. It describes deep learning techniques used by practitioners in industry, including deep feedforward networks, regularization, optimization algorithms, convolutional networks, sequence modeling, and practical methodology; and it surveys such applications as natural language processing, speech recognition, computer vision, online recommendation systems, bioinformatics, and videogames. Finally, the book offers research perspectives, covering such theoretical topics as linear factor models, autoencoders, representation learning, structured probabilistic models, Monte Carlo methods, the partition function, approximate inference, and deep generative models. 

Deep Learning can be used by undergraduate or graduate students planning careers in either industry or research, and by software engineers who want to begin using deep learning in their products or platforms. A website offers supplementary material for both readers and instructors.