NLP

From UFRC
Revision as of 16:22, 9 May 2024 by Zhao.qian (talk | contribs)
Jump to navigation Jump to search

This page describes the collection of Natural language processing software on HiperGator. Natural Language Processing (NLP) is a part of artificial intelligence (AI) that helps computers understand and respond to human language. It's used in things like voice assistants, chatbots, and translation apps. NLP combines language rules with machine learning to help computers grasp not just words, but also the intent and feelings behind them. NLP is improving how AI works in different areas. For example, in healthcare, it helps analyze medical records to aid patient care. Research Computing can help with language modeling for knowledge exploration, measurement, classification, summarization, conversational AI, or other uses via support requests or consulting.

Environment Modules for NLP

  • nlp: module load nlp provides a Python environment with pytorch, torchtext, nltk, Spacy, transformers, sentence-transformers, Flair, BERTopic for topic modeling, sentencepiece, RAPIDSai for data processing and machine learning algorithms, gensim, scikit-learn, and more.
    • Use the following command to list the available versions on HiPerGator-AI:
    • module spider nlp
  • ngc-pytorch: module load ngc-pytorch will provides a singularity container Python environment with pytorch including the Nvidia Apex optimizers required for Megatron-LM. Research computing has pretrained, large parameter Megatron language models available to HiperGator users. See /data/ai/examples/nlp or AI_Examples for more information.
    • Use the following command to list the available versions on HiPerGator-AI:
    • module spider ngc-pytorch


  • Nemo: module load nemo will provide a singularity container environment with Python and Nvidia NeMo. NeMo has NLP task training, plus speech-to-text and text-to-speech models, and the option to apply your own pretrained Megatron language models.
    • Use the following command to list the available versions on HiPerGator-AI:
    • module spider nemo
  • Bionemo: module load nemo will launch a singularity container environment equipped with Python and Nvidia BioNeMo. BioNeMo specializes in biomedical NLP tasks, featuring advanced models for tasks like medical text analysis, drug interaction extraction, and patient information processing. It also allows for the integration of your own pretrained Megatron language models, enhancing its versatility in the biomedical field.
    • Use the command below to list the available versions on HiPerGator-AI.
    • module spider bionemo
  • Pytorch or TensorFlow: Note, use module load pytorch or tensorflow to list the version we have available. If the nlp environments or these environments do not have libraries you require, you made need to create a Conda environment. See Conda and Managing_Python_environments_and_Jupyter_kernels for more details.
    • Use the following command to list the available versions on HiPerGator-AI:
    • module spider pytorch
    • module spider tensorflow
  • Transformers: Transformer packages are potent natural language processing tools that leverage transformer architecture, enabling models such as BERT and GPT to accurately process and generate text with a deep understanding of context. These packages offer thousands of pretrained models capable of handling various tasks across different modalities, including text, vision, and audio. Transformer Python module is available in nlp/1.3.


  • LangChain: LangChain is a framework designed to simplify the creation of applications using large language models. As a language model integration framework, LangChain's use-cases largely overlap with those of language models in general, including document analysis and summarization, chatbots, and code analysis. LangChain Python module is available in nlp/1.3.


  • LlamaIndex: LlamaIndex is a simple, flexible data framework for connecting custom data sources to large language models (LLMs).


  • TensorRT-LLM: NVIDIA TensorRT, an SDK for high-performance deep learning inference, includes a deep learning inference optimizer and runtime that delivers low latency and high throughput for inference applications. TensorRT-LLM is an open-source library that accelerates and optimizes inference performance of the latest large language models (LLMs) on the NVIDIA AI platform.


  • spark-nlp: See our Spark help doc to start a Spark cluster. Spark-nlp Python module is available in tensorflow/2.4.1.


  • parlai: Conversational AI framework by Facebook, includes a wide variety of models from 110M to 9B parameters.


Large Language Models

A variety of large language models are accessible for open-source download, though they might need specific software frameworks or adhere to particular end-user license agreements. Examples include starter LLMs trained using Megatron-LM, Llama2, and Llama3 which are located in the examples and reference data folder. These models, such as the 20B parameter GPT and the 9B parameter BERT, can be used as they are, further trained, or fine-tuned to meet specific needs. For the latest LLMs, such as LLaMA, GEMMA, and Mistral AI models, which provide advanced features and enhanced performance, please submit a help ticket for further details and support. You can also find more information on our AI Models page.


Examples and Reference Data

Please see /data/ai/ folder, AI_Examples, and AI_Reference_Datasets for helpful resources. Notebooks and batch scripts cover everything from pretraining and inferencing to summarization, information extraction, and topic modeling. Addition reference data, including benchmarks such as the popular superglue, are already available in /data/ai/benchmarks/nlp.