Software Development Newsletter: Q3 2024

Director Message

kafka

Welcome to the newest Mitrais Newsletter for 2024.

The newest iterations of Artificial Intelligence tools continue to be a hot topic globally as our industry examines the myriad possible uses that AI can be put to. Two of the leading lights in bringing AI to the market are OpenAI’s ChatGPT, and Google’s Gemini. In this issue, Mitrais’ experts examine how ChatGPT and Gemini compare today, and which is the better choice for your use case. If AI integration is on your radar, we know you will find this comparison interesting and timely.

In every software development, enhancement or maintenance project, one of the key questions is “How can I stay on top of my team’s performance?”. In the first of a series of papers prepared by Mitrais, we introduce one of the most significant concepts in measuring success – the implementation and effective use of team metrics. With more than 30 years of experience in helping our clients produce quality outcomes, we hope you will find our expert analysis of the best practices in this field helpful.

No doubt you are regularly approached by vendors looking to provide software development services, and most of them are relative newcomers to this industry. How often do you find an organisation with decades of experience working together with partners producing quality results? Recently, Mitrais celebrated our 33rd anniversary as a premier software development partner, and we take a moment to look back on this memorable milestone and share our plans for even more to come (and a little about our celebration).

Finally, this month, we take the opportunity to introduce you to Thomas Rizal Trika, Mitrais’ Melbourne-based Business Development Manager. Truly a “global citizen”, Thomas was born in Indonesia and educated in Australia. He brings with him decades of international experience in the software development and consultancy and represents a valuable asset for Mitrais and our clients in Victoria.

Exploring AI Capabilities: A Side-by-Side Look at ChatGPT and Google Gemini

This paper explores the advancements in Large Language Models (LLMs) with a focus on two leading platforms: OpenAI’s ChatGPT and Google’s Gemini. LLMs have revolutionised natural language processing (NLP) by enabling machines to understand and generate human-like text, with significant implications across various industries. The paper traces the evolution of LLMs, highlighting the impact of the Transformer architecture and the rise of GPT-based models. It delves into a comparative analysis of ChatGPT and Gemini, examining key aspects such as API accessibility, model deployment, customisation, developer tools, documentation, and integration capabilities. By assessing these platforms, the paper provides insights into their potential applications and how they can be leveraged to create innovative AI-driven solutions.

Large Language Models

Large Language Models (LLMs) represent a significant advancement in artificial intelligence, particularly in the field of natural language processing (NLP). These models are designed to understand and generate human-like text, enabling them to perform a wide range of language-related tasks. The history of LLMs can be traced back to earlier efforts in machine learning and NLP, including rule-based systems and statistical approaches. However, it was the development of deep learning techniques, particularly deep neural networks, which paved the way for the emergence of more sophisticated LLMs.

One of the seminal moments in the history of LLMs was the introduction of the Transformer architecture by Vaswani et al. in 2017. This architecture, which relies on self-attention mechanisms, revolutionised the field of NLP by enabling the training of larger and more powerful language models. Subsequently, researchers began to explore the potential of scaling up these models, leading to the development of increasingly larger LLMs.

The rise of GPT (Generative Pre-trained Transformer) based LLMs, pioneered by OpenAI, marked a significant milestone in the evolution of this technology. GPT models are pre-trained on vast amounts of text data, allowing them to learn the intricacies of language through unsupervised learning. This pre-training is followed by fine-tuning on specific tasks, enabling GPT models to excel in a wide range of applications, including text generation, summarisation, translation, and question answering.

OpenAI’s ChatGPT is one of the prominent examples of GPT-based LLM platforms. It offers users the ability to interact with a conversational agent capable of understanding and generating human-like responses. ChatGPT leverages the power of large-scale pre-training to provide accurate and contextually relevant responses to user queries and prompts.

Another notable LLM platform is Gemini, developed by Google. Gemini builds upon Google’s expertise in NLP and leverages the company’s vast resources to deliver cutting-edge language understanding capabilities. While specific details about Gemini may vary, it likely shares similarities with other GPT-based LLMs in terms of architecture and functionality, offering users access to advanced language processing capabilities for a variety of applications.

Overall, the rise of GPT-based LLMs, including platforms like ChatGPT and Gemini, represents a significant advancement in AI technology, offering powerful tools for understanding and generating human-like text. These platforms have the potential to revolutionise various industries, from customer service and content generation to education and research, by providing access to sophisticated language processing capabilities.

Assessment Scope

In this paper, our primary focus will be on two prominent Large Language Model (LLM) platforms: Chat-GPT and Gemini. Our assessment will centre around aspects crucial for delivering solutions based on LLM technology, emphasising the following key points:

  1. API Accessibility, we will evaluate the ease of access to the platforms’ APIs.
  2. Model Deployment, our assessment will delve into the supported deployment for LLM models on both platforms.
  3. Customisation and Fine-tuning, we will analyse the platforms’ capabilities for customising and fine-tuning LLM models to meet specific application requirements.
  4. Developer Tools, our evaluation will encompass the suite of developer tools offered by each platform, including data processing, model fine-tuning, and integration with popular development frameworks.
  5. Documentation and Tutorials, we will assess the comprehensiveness of the documentation and tutorials provided.
  6. Compatibility and Integration, we will examine the platforms’ compatibility with existing software ecosystems and their ability to seamlessly integrate with other tools and services commonly used in LLM-based solution development.

ChatGPT

ChatGPT, developed by OpenAI, is a versatile platform that offers a range of features tailored to facilitate interaction with AI models for natural language processing tasks. Let’s delve deeper into its aspects:

API Accessibility

ChatGPT provides easy access to its AI models through well-documented APIs, allowing developers to integrate them seamlessly into their applications or services. These APIs are designed to be user-friendly, enabling straightforward interaction with the models. Additionally, OpenAI offers Software Development Kits (SDKs) for various programming languages, further simplifying the integration process.

Official supported SDKs include:

  • Python
  • js
  • Azure OpenAI libraries

Other programming languages are supported by the community such as Java, Go, Rust and others (https://platform.openai.com/docs/libraries).

Model Deployment

Deploying and integrating ChatGPT models into applications or services is straightforward, due to the availability of cloud-hosted APIs provided by OpenAI. These APIs enable developers to access the models remotely, eliminating the need for complex infrastructure setup.

Customisation and Fine-tuning

Developers have the flexibility to customise and fine-tune ChatGPT models for specific use cases or domains. OpenAI supports transfer learning, allowing developers to leverage pre-trained models and fine-tune them on custom datasets to adapt them to their specific requirements. This enables developers to achieve higher performance and accuracy for their particular applications.

Developer Tools

OpenAI provides a comprehensive set of developer tools and utilities to facilitate model development, testing, and debugging. These tools include frameworks and libraries for common tasks such as data preprocessing, model evaluation, and performance optimisation. By offering these resources, OpenAI aims to streamline the development process and empower developers to build robust and efficient AI-powered applications.

Documentation and Tutorials

OpenAI offers extensive documentation covering API usage, model architecture, and best practices for developers. Additionally, they provide tutorials, code samples, and examples to help developers get started quickly and familiarise themselves with the platform. These resources are essential for developers to gain a deeper understanding of ChatGPT and leverage its capabilities effectively.

Compatibility and Integration

ChatGPT models integrate seamlessly with existing development workflows, frameworks, and technologies. OpenAI ensures compatibility with a wide range of programming languages and platforms, allowing developers to leverage ChatGPT in their preferred environment. Whether developers are building web applications, mobile apps, or desktop software, they can easily integrate ChatGPT into their projects without encountering compatibility issues.

Gemini

Gemini developed by Google, is a suite of generative AI models that powers Google’s digital products and services, including the Bard chatbot, and is capable of multilingualism and multimodal dialogue. Let us explore its facets in more detail:

API Accessibility

With its comprehensive training and documentation, the Gemini API makes it easy for developers to link their applications with their model. Moreover, we can use the Gemini API with any SDK that we want to use, including Web, Dart (Flutter), Android, Python, Go, Node.js, and REST API. The Gemini API can only be accessed with an API Key, which may be acquired via Google AI Studio.

Model Deployment

Gemini models have managed APIs and can accept prompts without deployment. Other models require deployment to an endpoint. Two types are tuned models and models without managed APIs. Vertex AI associates compute resources and a URI with the model when deployed to an endpoint.

Customisation and Fine-Tuning

Vertex AI enables developers to fine-tune the Gemini Model for specific use cases and unique tasks, while also ensuring it adheres to output requirements when instructions are insufficient. Gemini supports the supervised tuning which shall improve the performance and enables the model to learn additional parameters to achieve the desired tasks or behaviours.

Developer Tools

After Gemini, Google’s innovative journey continues with new technologies that are advancing AI to previously unheard-of heights. Among the noteworthy additions to their toolkit are:

  1. Vertex AI Studio – A cloud-based generative AI development platform that allows developers to create and experiment with GenAI models.
  2. Google AI Studio – A web-based application that allow us to run prompt directly in the browser, experience and get started with Gemini API.

The development process can be streamlined, and the developer given the ability to create reliable AI-powered applications by using the tools mentioned above for model development, testing, evaluation, debugging, and performance optimisation.

Documentation and Tutorials

Google, with its focus on documentation, might provide more comprehensive and up-to-date official guides in the future. However, Since Gemini AI is newer, there are fewer user-created resources and tutorials available online compared to Chat GPT. Tutorials for Gemini AI might be more structured and targeted, particularly if the platform is aimed at serving specific business or industry needs. This could include webinar sessions, live demos, and specialised training modules for enterprise clients.

Compatibility and Integration

Gemini AI is still in development and does not yet provide generally simple integration with a wide range of platforms or applications. Nonetheless, Gemini’s Software Development Kits (SDK) support several programming languages.

Furthermore, Gemini AI may eventually integrate seamlessly with Google services and products. This could apply to other Google Workspace apps, Google Assistant, or Google Search.

Gemini vs OpenAI

Below is the comparison summary of Chat-GPT and Gemini.

Aspect Chat GPT Gemini
API Accessibility Python, Node.js, others (supported by the community) Web, Dart (Flutter), Android, Python, Go, Node.js, and REST API (supported by Google)
Model Deployment Cloud SAAS Cloud SAAS
Customisation Fine-tuning Supported model: gpt-3.5-turbo, babbage, davinci, gpt-4 Supported model: Gemini, Imagen2, Gemma, Chirp
Developer Tools Provides SDK for data preprocessing, model evaluation, and performance optimisation Provide SDK for Prompt, Model Tuning, Model Evaluation and Cloud based Development Tool
Documentation and Tutorial API usage, model architecture, and best practices. API Usage, model architecture, webinar, Blog and Vlog
Compatibility and Integration SDK for different programming language, REST API and Azure SDK for different programming language, Web, REST API

Conclusion

The development of Large Language Models (LLMs) like ChatGPT and Gemini marks a transformative leap in artificial intelligence, particularly within the realm of natural language processing. Both platforms, despite their unique strengths and focus areas, underscore the profound impact of LLMs on various industries by enabling sophisticated language understanding and generation capabilities.

ChatGPT, with its mature ecosystem, offers robust API accessibility, extensive developer tools, and seamless integration capabilities, making it a versatile choice for a wide range of applications. Its emphasis on ease of use and comprehensive documentation further enhances its appeal to developers and enterprises alike.

Gemini, on the other hand, represents Google’s strategic foray into the LLM landscape, bringing with it the potential for deep integration within Google’s ecosystem. While still developing, Gemini offers advanced customisation and fine-tuning capabilities, especially within the Vertex AI framework. Its future potential lies in its ability to leverage Google’s vast resources and existing digital infrastructure, which could lead to more specialised and enterprise-focused applications.

As these platforms continue to evolve, the choice between them will depend on specific use cases, deployment needs, and integration requirements. ChatGPT models currently offer more mature integration options, seamlessly fitting into existing development workflows, frameworks, and technologies. OpenAI ensures compatibility with a wide range of programming languages and platforms, allowing developers to easily incorporate ChatGPT into web applications, mobile apps, or desktop software without compatibility issues. On the other hand, while Gemini AI is still in development and doesn’t yet provide simple integration across a wide range of platforms, its Software Development Kits (SDK) do support several programming languages. Furthermore, Gemini AI may eventually integrate seamlessly with Google services and products, potentially extending to other Google Workspace apps, Google Assistant, or Google Search. Both ChatGPT and Gemini exemplify the ongoing advancements in LLM technology, offering powerful tools that are poised to redefine how we interact with and leverage artificial intelligence in the years to come.

 

 

References: