UAE Unveils GPT-4’s New Rival, Falcon 180B

Adding to the list of open-source LLMs, Abu Dhabi’s TII has released Falcon 180B, a highly scaled-up version of Falcon 40B. According to the official blog post, this is the largest open-source language model, boasting a staggering 180 billion parameters.

Back in June, the institute released the three variants of Falcon – 1B, 7B, and 40B.

It is trained on a dataset of 3.5 trillion tokens from TII’s RefinedWeb dataset, making it the longest single-epoch pretraining process for an openly accessible model. The training process involved the simultaneous use of up to 4096 GPUs, using Amazon The chat model was fine-tuned leveraging a combination of various extensive conversational datasets focused on chat and instructions.

Imagine that your moat is money and you try to compete with state level funding of the UAE

— Yam Peleg (@Yampeleg) September 6, 2023

Falcon 180B Vs Llama 2 Vs GPT 3.5

Currently topping the HuggingFace leaderboard, Falcon 180B surpasses Llama 2 in size by 2.5 times and utilises four times the computing power. It also outperforms when compared to Llama 2 70B and OpenAI’s GPT-3.5 in terms of MMLU. It also uses multi-query attention (MQA).

Additionally, it exhibits comparable results to Google’s PaLM 2-Large in assessments involving HellaSwag, LAMBADA, WebQuestions, Winogrande, PIQA, ARC, BoolQ, CB, COPA, RTE, WiC, WSC, and ReCoRD. However it is yet to perform as well as GPT- 4.

Read more: Llama 2 vs GPT-4 vs Claude-2

Commercial Use

While the research paper for the model has not yet been released, Falcon 180b can be commercially used but under very restrictive conditions, excluding any “hosting use”, making it less commercially friendly than previous Falcon models.

Open Source Gets a New Player

Surpassing Meta’s Llama 2, this is the largest open-source language model.

Even though Meta has been championing the open-sourcing ecosystem, it comes with its own set of restrictions like its complicated licensing policy. But even Meta seems to follow a closed-door approach with its upcoming models which are touted to be even bigger and better.

However, meanwhile, no matter how much effort Meta puts in, the real controller of open source is OpenAI, as AIM reported earlier. But now with the release of Google’s Gemini getting closer, it is high time that OpenAI releases GPT-5 to stay ahead in the race.

Read more: Meta Launches Open Source Models, OpenAI Controls Them

The post UAE Unveils GPT-4’s New Rival, Falcon 180B appeared first on Analytics India Magazine.

Elevate Math Efficiency: Navigating Numpy Array Operations

Elevate Math Efficiency: Navigating Numpy Array Operations
Image by Author

In this article, we will discover the potency of one of the famous and helpful Python libraries for data analysis, NumPy, where the primary data structure to store the elements and perform operations is a multidimensional array. We will see how this dynamic library makes the complex mathematical task efficient regarding space and time complexity. Also, see how data manipulation and transformation can be made easier regarding effortless operations.

What is Numpy?

Numpy, Scipy, and Matplotlib are Python libraries used in Data Science projects, which provide MATLAB-like functionality.

Elevate Math Efficiency: Navigating Numpy Array Operations
Image from Wikipedia

Mainly, Numpy has the following Features:

  1. Typed multidimensional arrays (matrices)
  2. Fast numerical computations (matrix math)
  3. High-level math functions

Numpy stands for Numerical Python, the fundamental package required for high-performance computing and data analysis. NumPy is necessary for numerical computations in Python because it is designed for efficiency on large data arrays.

Different Ways to Create Numpy Arrays

Before starting to do operations on numpy arrays, our first aim is to become proficient in creating a numpy array based on our requirements according to the problem statement.

There are multiple ways to create numpy arrays. Some standard and practical methods are mentioned below:

Case-1: Using the np.ones method to create an array of ones:

If we have to create an array of only “ones,” you can utilize this method.

np.ones((3,5), dtype=np.float32)  #Output  [[1. 1. 1. 1. 1.]   [1. 1. 1. 1. 1.]

Case-2: Using the np.zeros method to create an array of zeros:

If we have to create an array of only “zeroes,” you can utilize this method.

np.zeros((6,2), dtype=np.int8)  # Output  [[0 0]   [0 0]   [0 0]   [0 0]   [0 0]   [0 0]]

Case-3: Using the np.arange method:

You can utilize this method if you have to create an array of elements following a sequence.

np.arange(1334,1338)  #Output  [1334 1335 1336 1337]

Case-4: Using the np.concatenate method:

This method is proper when your required array combines one or more arrays.

A = np.ones((2,3))  B = np.zeros((4,3))  C = np.concatenate([A, B])  #Output  [[1. 1. 1.]   [1. 1. 1.]   [0. 0. 0.]   [0. 0. 0.]   [0. 0. 0.]   [0. 0. 0.]]

Case-5: Using the np.random.random method:

It is useful when creating an array with random values.

np.random.random((2,3))  #Output  [[0.30512345 0.10055724 0.89505387]   [0.36219316 0.593805   0.7643694 ]]

Numpy Arrays Operations

Let’s discuss the basic properties of a numpy array with an example:

Code:

a = numpy.array([[1,2,3],[4,5,6]],dtype=numpy.float32)  # Array dimensions, shape, and data types  print (a.ndim, a.shape, a.dtype)  Output:  2 (2, 3) float32

Based on the above code, we have the following points to remember as a conclusion:

  1. Arrays can have any dimension as a positive integer, including zero (corresponds to a scalar value).
  2. Arrays are typed and can have data types such as np.uint8, np.int64, np.float32, np.float64
  3. Arrays are dense. Each element of the array exists and has the same type.

Code:

# Arrays reshaping  a = numpy.array([1,2,3,4,5,6])  a = a.reshape(3,2)                #Output:   [[1 2]                   [3 4]                             [5 6]]    a = a.reshape(2,-1)  #Output:   [[1 2 3]   [4 5 6]]    a = a.ravel()  #Output:    [1 2 3 4 5 6]

Important points to remember:

  1. The total number of elements in the array cannot change after the reshaping operation.
  2. To infer the axis shape, use -1.
  3. By default, it stores the element in Row-major format, while on the other hand, in MATLAB, it is column-major.

Numpy Arrays Broadcasting

Broadcasting allows performing operations on arrays of different shapes as long as they are compatible. Smaller dimensions of an array are virtually expanded to match the dimensions of the larger array.

Elevate Math Efficiency: Navigating Numpy Array Operations
Image from Javatpoint

Code:

# arrays broadcasting  a = numpy.array([[1, 2], [3, 4], [5, 6]])  b = numpy.array([10, 20])  c = a + b  # Broadcasting the 'b' array to match the dimensions of 'a'

The example involves a 2D NumPy array 'a' with dimensions (3, 2) and a 1D array 'b' with shape (2). Broadcasting allows the operation 'a + b' to virtually expand 'b' to match 'a' in the second dimension, resulting in element-wise addition between 'a' and the expanded 'b'.

Arrays Indexing and Slicing

  1. Slices are views. Writing to a slice overwrites the original array.
  2. A list or boolean array can also index it.
  3. Python indexing Syntax:

start_index : stop_index: step_size

Code:

a = list(range(10))      # first 3 elements  a[:3] # indices 0, 1, 2     # last 3 elements  a[-3:] # indices 7, 8, 9     # indices 3, 5, 7   a[3:8:2]     # indices 4, 3, 2 (this one is tricky)  a[4:1:-1] 

As you know, an image can also be visualized as a multidimensional array. So, slicing can also be helpful to perform some mathematical operations on images. Some of the important and advanced examples are mentioned below to increase your understanding:

# Select all but one-pixel border   pixel_matrix[1:-1,1:-1] 		    # swap channel order   pixel_matrix = pixel_matrix[:,:,::-1]    # Set dark pixels to black 	  pixel_matrix[pixel_matrix<10] = 0    # select 2nd and 4th-row		  pixel_matrix[[1,3], :]	

Arrays Aggregation and Reduction

Now, we will start with aggregation operations on numpy arrays. Generally, the operations that you can perform are as follows:

  1. Finding the sum and product of all the elements of the array.
  2. Finding the maximum and minimum element in the array
  3. Find the count of a particular element in an array
  4. We can also find other parameters using the linear algebra module, including Matrix Determinant, Matrix Trace, Matrix Eigenvalues and eigenvectors, etc.

Let’s start discussing each functionality with examples:

Case-1: Algebraic sum of all the elements present in the array

array_1 = numpy.array([[1,2,3], [4,5,6]])  print(array_1.sum())  #Output:   21

Case-2: Maximum element in the array

array_1 = numpy.array([[1,2,3], [4,5,6]])  print(array_1.max())  #Output:   6

Case-3: Minimum element in the array

array_1 = numpy.array([[1,2,3], [4,5,6]])  print(array_1.min())  #Output:   1

Case-4: Position/Index of the element in the array where the maximum element is in place

array_1 = numpy.array([[1,2,3], [4,5,6]])  print(array_1.argmax())  #Output:   5

Case-5: Position/Index of the element in the array where the minimum element is in place

array_1 = numpy.array([[1,2,3], [4,5,6]])  print(array_1.argmin())  #Output:   0

While finding the position, you can observe that it considers any multidimensional array into a 1-D array and then compute it.

Case-6: Mean/Average of all the elements in an array

array_1 = numpy.array([[1,2,3], [4,5,6]])  print(array_1.mean())  #Output:   3.5

Case-7: Dot product/Scalar product of two multidimensional arrays

array_1 = numpy.array([[1,2], [4,5]])  array_2 = numpy.array([[1,-1,2], [3,7,-2]])  t = array_1.dot(array_2)  print(t)  #Output:   [[ 7 13 -2]   [19 31 -2]]

Vectorization in Numpy Arrays

Vectorization enables performing operations on entire arrays instead of looping through individual elements. It leverages optimized low-level routines, leading to faster and more concise code.

Code:

a = numpy.array([1, 2, 3, 4, 5])  b = numpy.array([10, 20, 30, 40, 50])  c = a + b  # Element-wise addition without explicit loops

Based on the above example, you can see that two NumPy arrays, named 'a' and 'b', are created. While performing the operation 'a + b', where we are performing element-wise addition between the arrays using the vectorization concept, resulting in a new array 'c' containing the sum of corresponding elements from 'a' and 'b'. So, because of the element-wise operation, the program avoids running explicit loops and utilizes optimized routines for efficient computation.

Array Concatenation

Case-1: Suppose you have two or more arrays to concatenate using the concatenate function, where you have to join the tuple of the arrays.

Code:

# concatenate 2 or more arrays using concatenate function row-wise  numpy_array_1 = numpy.array([1,2,3])  numpy_array_2 = numpy.array([4,5,6])  numpy_array_3 = numpy.array([7,8,9])  array_concatenate = numpy.concatenate((numpy_array_1, numpy_array_2, numpy_array_3))  print(array_concatenate)  #Output:  [1 2 3 4 5 6 7 8 9]

Case 2: Suppose you have an array with more than one dimension; then, to concatenate the arrays, you must mention the axis along which those have to be concatenated. Otherwise, it will be performed along the first dimension.

Code:

# concatenate 2 or more arrays using concatenate function column-wise  array_1 = numpy.array([[1,2,3], [4,5,6]])  array_2 = numpy.array([[7,8,9], [10, 11, 12]])  array_concatenate = numpy.concatenate((array_1, array_2), axis=1)  print(array_concatenate)  #Output:  [[ 1  2  3  7  8  9]   [ 4  5  6 10 11 12]]

Maths Functions and Universal Functions

These universal functions are also known as ufuncs. Element-wise operations are performed in these functions. For Examples:

  1. np.exp
  2. np.sqrt
  3. np.sin
  4. np.cos
  5. np.isnan

Code:

A = np.array([1,4,9,16,25])  B = np.sqrt(A)  #Output  [1. 2. 3. 4. 5.]

Performance Comparisons

While performing numerical computations, Python requires much time if we have big calculations. If we take a matrix of shape 1000 x 1000 matrix and do the matrix multiplication, then the time required by Python and numpy are:

  1. Python triple loop takes > 10 min
  2. Numpy takes ~0.03 seconds

So, from the above example, we can see that numpy requires significantly less time than standard python, so our latency reduces in real-life projects related to Data Science, which has massive data to process.

Wrapping it Up

In this article, we discussed the numpy arrays. So, to conclude our session, let’s summarize the advantages of numpy over Python:

  1. Numpy has array-oriented computing.
  2. Numpy efficiently implemented multidimensional arrays.
  3. Numpy is mainly designed for scientific computing.
  4. Numpy contains standard mathematical functions for faster computation on arrays without loops.
  5. Numpy has inbuilt Linear algebra and random number generation modules to work with and Fourier transform capabilities.
  6. Numpy also contains tools for reading and writing arrays to disk and working with memory-mapped files.

Aryan Garg is a B.Tech. Electrical Engineering student, currently in the final year of his undergrad. His interest lies in the field of Web Development and Machine Learning. He have pursued this interest and am eager to work more in these directions.

More On This Topic

  • How To Overcome The Fear of Math and Learn Math For Data Science
  • The Ethics of AI: Navigating the Future of Intelligent Machines
  • Machine Learning Model Development and Model Operations: Principles and…
  • Vision Transformers: Natural Language Processing (NLP) Increases Efficiency…
  • How To Calculate Algorithm Efficiency
  • Efficiency Spells the Difference Between Biological Neurons and Their…

25 years of Google: What Went Wrong?

Google today celebrated its 25th birthday with CEO Sundar Pichai posting an emotional memo titled “Questions, shrugs and what comes next: A quarter century of change.” Google, over the years, has become one of the most popular search engines, so much so that its name became synonymous with web browsing.

The tech giant just didn’t stop at search and created various services and products like Chrome, Gmail, Android and others. Today, Google has about 4.3 billion users. However, with many triumphs, Google also has experienced its fair share of setbacks.

What went wrong in the past?

Google Glass

Google launched its smart Glass in 2013. It was a wearable technology created by Google that looks like a regular pair of glasses. But on a closer look, the device included a small transparent display on the right side of the frame that displayed a variety of information, including text messages, emails, weather forecasts, and directions.

Due to its high price point, it wasn’t received well among the masses. Unfortunately, earlier this year Google announced that it will stop selling this product

Google Stadia

In 2019, Google entered into cloud gaming with Stadia. However, the cloud-gaming service faced multiple challenges, including a limited game library, technical issues, and competition from established gaming platforms such Sony Playstation and Microsoft XBox. Google announced in September 2022, that it would be shutting down its in-house game development studios for Stadia.

Google+

Launched in 2011, Google+ was Google’s fourth attempt at social media. It couldn’t provide anything new and exciting enough to become more popular than other social networks. The platform suffered from low usage and engagement due to convoluted sign-up processes and bundling with Gmail accounts. After a data breach was discovered in 2018, Google announced the shutdown of the platform the next year.

Project Maven

In 2018, a large number of Google employees staged protests against a Pentagon contract known as Project Maven. This contract involved the use of Google’s AI technology to analyse drone surveillance footage.

Google responded by stating it wouldn’t renew the contract and introduced principles to guide future AI projects.

Nexus Q

In 2012, Google introduced the Nexus Q, which was a digital media player built on the Android platform. It linked Google Play Music, YouTube, and Google Play Movies and TV to users’ home entertainment systems. It was met with criticism for its high price and limited functionality. The product was delayed and eventually cancelled before it could be officially released.

Ads on Search

Several users of Google have complained that the search quality of Google has fallen down and it shows ads or sponsored websites at the top which are not even relevant to the user’s query and are often misleading.

Google Books

Google books launched in 2004 aimed to create a digital library and make books searchable online. However, this ambitious project soon got engulfed into controversy and a case was filed against Google charging it with copyright infringement.

Even though Google emerged victorious from a decade-long legal battle in 2017, The Atlantic reported that the company has drastically scaled back its scanning operation.

According to Wired’s April 2017 report, the project had only a handful of Google employees involved, and while new books were still being scanned, the pace had considerably slowed down.

What can go wrong in the future?

In the tech domain, the conversation has now shifted towards Generative AI with OpenAI’s ChatGPT leading it. In May, Google announced that it is now exploring how it can inculcate this hot new technology in its very loved search engine.

However, the idea of integration of generative AI on the search bar of Google raises many questions. Is Google making a mistake by putting generative AI on its search bar?

As of now no one comes close to Google in web search and the tech giant can keep its search function generative AI free without complicating it much. That being said, it is still in the exploratory phase right now and would be interesting to monitor how it plays out.

As compared to the ChatGPT, Bard hasn’t been able to make an impression on the users. In April reports came out saying that Bard would frequently give users dangerous advice and would make factual errors.

Google’s most awaited foundation model is expected to launch this fall under Project Gemini. However, With Gemini it appears that Google is late to the party.

Apart from the claims that Gemini is going to be multimodal, there is very little information about how exactly Google plans to surpass GPT-4 in terms of capabilities.Furthermore, at this point, no one cares if Gemini is going to perform better than GPT-4 or not. All they want is an accessible API, instead of a locked-out model like Bard or ChatGPT.

Google’s unsuccessful projects often attempted to emulate established competitors. For example, Google Books aimed to challenge Amazon’s online bookstore and Kindle, while Google Stadia sought to compete with well-established gaming giants like Xbox and Sony Playstation. Similarly, Nexus Q faced competition from established players like Xbox 360 and Apple TV.

Same thing is happening with Bard and Gemini, where Google is trying to imitate OpenAI’s success and is playing the catch up game. Only time will tell what fate these projects hold.

The post 25 years of Google: What Went Wrong? appeared first on Analytics India Magazine.

Duolingo’s new music course gamifies how you learn to play and read music

duolingo math and music demo

Duolingo is known for being a language-learning app that makes the process fun and intuitive through gamified, free, bite-sized lessons. Now, Duolingo is expanding its learning platform to music learning, too.

On Wednesday, Duolingo unveiled its new Music course, allowing users to learn to read and play music through its signature gamified learning experience.

Also: 4 ways teachers can use ChatGPT in their classrooms, according to OpenAI

Duolingo's brand-new Music course will include the same techniques it uses in its language-learning platform, with hundreds of bite-sized lessons, interactive exercises, and 200-plus "fun and familiar tunes", according to an announcement.

Even though details are limited, the images from Duolingo showcase interactive exercises such as fill-in-blank and match the pairs, where users select the right note to match the sound.

In the announcement, Duolingo shares that more than 3.6 million students in the U.S. don't have access to music education. Duolingo's free music course is meant to help make learning music more accessible.

In addition to adding music, the application will also include math lessons as part of an attempt to make Duolingo into more of a multi-subject learning platform.

The demo photos show that the math lesson will align with Duolingo's current learning layout, gamifying the learning experience with fun little exercises, such as selecting the right angle and dragging tiles to make a basic math operation.

Duolingo says the courses will be made available "soon", with the big reveal scheduled to occur on October 11 at Duocon, Duolingo's free annual virtual conference.

Also: How to use ChatGPT to make charts and tables

The announcement is right in time for back-to-school season, following Grammarly, Chegg, and Quizlet's recent AI learning tool announcements.

Artificial Intelligence

AMD Drives Hitachi Astemo’s AI-Powered Auto Safety

AMD's Fastest Per Core Performance

AMD announced yesterday that they are partnering with Hitachi Astemo to power their new stereo-format, forward-looking camera. This camera is designed for adaptive cruise control and autonomous emergency braking, aiming to improve vision capabilities and enhance the safety of next-generation vehicles via AI object detection.

The AMD Automotive XA Zynq UltraScale+ MPSoC provides both stereo and monocular image processing in the camera, enabling it to detect objects over 120 degrees — a 3X wider angle than its previous-generation cameras — to enhance overall safety.

AMD’s contribution with the Automotive XA Zynq™ UltraScale+™ multi-processor system-on-a-chip (MPSoC), which integrates both stereo and monocular image processing within the camera. As a result, the camera boasts an impressive 120-degree object detection range, a significant improvement over its predecessors, thereby strengthening overall safety.

Yousef Khalilollahi, Corporate Vice President of APAC Sales at AMD, acknowledged Hitachi Astemo’s technological leadership in developing this stereo forward camera that leverages AMD’s adaptive computing technology. Khalilollahi said, “Increased safety and accident avoidance are key tenets to automotive technologies, and AMD is proud to offer the foundational technology in these camera systems.”

Forward cameras are especially critical in these contexts as they enable reliable detection of objects and people. Hitachi Astemo’s system, powered by AMD, marries stereo camera image-processing algorithms with artificial intelligence to deliver object detection capabilities that will also support video-based driver-assistance systems.

AMD’s Xilinx Automotive (XA) Zynq UltraScale+ SoC is gaining traction in Japan’s automotive sector. Following its collaboration with Aisin, AMD has also partnered with DENSO earlier this year for its upcoming lidar system, slated for a 2025 release. The system promises over 20x resolution improvement and ultra-low latency, enhancing object detection capabilities.

To address the growing demand for more edge sensors, 3D surround-view camera systems in the automotive industry they are releasing two new additions to their Automotive XA Artix™ UltraScale+™ family: the XA AU10P and XA AU15P processors, tailored for advanced driver-assistance systems (ADAS) sensors. This extends their portfolio and is accelerating the development of autonomous vehicles for carmakers, robotaxi developers, and Tier 1 suppliers.

The post AMD Drives Hitachi Astemo’s AI-Powered Auto Safety appeared first on Analytics India Magazine.

Data Visualization: Theory and Techniques

Data Visualization: Theory and Techniques
Image by freepik

In a digital landscape dominated by big data and intricate algorithms, one would think that the average person is lost in an ocean of numbers and data.

Isn’t it?

Yet, the bridge between raw data and comprehensible insights lies in the art of Data Visualization.

It’s the compass that directs us, the map that guides us, and the interpreter that decodes the mass amount of data that we encounter daily.

But what’s the magic behind a good visualization?

Why does one visualization enlighten while another confuses?

Today, we are going back to the basics and trying to understand the fundamentals of Data Visualization.

Let’s discover it all together! 👇🏻

Breaking Data Visualization to Its Basics

Mastering how to tell a story efficiently is one of the hardest skills to master as a data scientist. If we check the term Data Visualization in a dictionary, we find the following definition:

“The act of representing information as a picture, diagram or chart, or a picture that represents information in this way”

This basically means that Data Visualization aims to craft a story from the dataset, presenting insights in a form that’s digestible, appealing, and impactful.

Data visualization, or making data look good in charts and graphs, might not seem as cool as stuff like machine learning.

But, it's really a key part of what a Data Scientist does.

In today’s data-driven world, Data Visualization is like the glasses that help us see clearly. And, for those not well-versed in the language of numbers and algorithms, it offers an efficient means to understand complex data narratives.

Any chart is always composed of two main components:

1. Data Types

I bet you are thinking of data as numbers, but numerical values are only two out of several types of data we may encounter. Whenever we visualize data, we always need to consider what types of data we are dealing with.

In addition to continuous and discrete numerical values, data can come in the form of discrete categories, in the form of dates or times, and as text.

When data is numerical we also call it quantitative and when it is categorical we call it qualitative.

So any displayed data can always be described in one of the following categories.

Data Visualization: Theory and Techniques
Image by Author. Classification extracted from Fundamentals of Data Visualization, O’Reilly.

Once we have a clear what kind of data we have, we need to understand how to encode this data into final charts.

2. Encoding Information: The Visual Lexicon

Visual encoding is at the core of data visualization. It translates abstract numbers into graphical representations, a language we’re all fluent in.

Even though there are many different types of data visualizations, and at first glance, a scatterplot, a pie chart, and a heatmap don’t seem to have much in common, all these visualizations can be described with a common language that captures how data values are turned into blobs of ink on paper or colored pixels on a screen.

But… as you already must be aware of…

There are thousands of ways to encode numbers!

There are two main groups:

  1. Retinal Encodings: From shape, size, colors, and intensity, these are elements our eyes catch instantly. They are inherent to the element.

Data Visualization: Theory and Techniques
Image by Author

  1. Spatial Encodings: They exploit our brain’s cortex’s spatial awareness to encode information. This kind of encoding can be achieved through position in a scale, a defined order or using relative sizes.

Data Visualization: Theory and Techniques
Image by Author

With all the previously explained encodings, we could use all of them in one chart but it would be hard for the reader to grasp all the information quickly. Overloading a chart with multiple encodings can be confusing so 1 or 2 retinal encodings per chart is optimal.

Always remember that less is often more, so always try to create minimalist and easy-to-understand charts.

Think of it as seasoning a dish-a sprinkle of salt and pepper might enhance it, but pouring the entire salt shaker might ruin the taste.

So now… which encoding should one choose?

That, my friends, depends on the story you want to weave.

So you could better ask…

What Works and What Doesn’t?

While the visual arsenal at our disposal is vast, not all weapons are fit for every battle.

Think about what encodings are best for what kind of variable.

  • Continuous data variables, like weight and height, find their best representation in position on a common scale.
  • Discrete ones, such as gender or nationality, shine when depicted by colors or spatial regions.

There are some reasons behind the intuitiveness of some charts. And there are two main theories behind them.

1. Gestalt Theory

People who work with technology sometimes forget about the human side of things. The Gestalt Principles are rules from psychology that explain how our brain sees patterns.

Some of these rules help us understand why we group things that look alike or notice things that stand out.

  1. Similarity: Gestalt similarity means our brain groups things that look alike. This can be because of their position, shape, color, or size. This is extensively used in heat maps or scatter plots.

Data Visualization: Theory and Techniques
Image by Author

  1. Closure: Objects inside a border-like a line or a shared color-look like they belong together. This makes them stand out from other things we see. We often use borders or colors in tables and graphs to group data.

Data Visualization: Theory and Techniques
Image by Author

  1. Continuity: When individual elements are connected, our eyes think they belong together. Even if they look different, the line makes us see them as a group. This is extensively used in line charts.

Data Visualization: Theory and Techniques
Image by Author

  1. Proximity: We think things are in the same group if they are close to each other. To show things belong together, put them close. Using a little space can help separate different groups. This is commonly used in scattering plots or node-link diagrams.

Data Visualization: Theory and Techniques
Image by Author

So the Gestalt principles and their interactions are important to consider when making visualizations.

2. The Principle of Proportional Ink

In many different visualization scenarios, we represent data values by the extent of a graphical element.

It is common practice to use the word ink to refer to any part of a visualization that deviates from the background color. This includes lines, bars, points, shared areas, and text.

For example, in a bar plot, we draw bars that begin at 0 and end at the data value they represent. In this case, the data value is not only encoded in the endpoint of the bar but also in the height or length of the bar.

If we drew a bar that started at a different value than 0, then the length of the bar and the bar endpoint would convey contradicting information.

Data Visualization: Theory and Techniques
Image by Author

In all these cases, we need to make sure that there is no inconsistency. This concept has been termed the principle of proportional ink by Bergstrom and West.

“When a shaded region is used to represent a numerical value, the area of that shaded region should be directly proportional to the corresponding value.”

Violations of this principle are quite common when trying to manipulate data, in particular in the popular press and in the world of finance.

Similar issues will happen whenever we use graphical elements such as rectangles, shaded areas of arbitrary shape, or any other elements that have a defined visual extent that can be either consistent or inconsistent with the data value shown.

The Essence of a Good Visualization

A striking balance between aesthetics and functionality is pivotal. Adhering strictly to principles like Bergstrom’s proportional ink, but not at the cost of readability.

And while some encodings may seem less effective, they can be chosen deliberately to make a statement or evoke an emotion.

In our age of an ever-increasing flow of data, the importance of crafting meaningful visual narratives cannot be overstated. Especially when trying to communicate our insights to non-data professionals.

Good data visualization isn’t just about presenting numbers, but instead trying to articulate our data around a story. Bringing our data to life while telling stories, and forging connections between raw information and real-world implications and insights.

As technologists and data lovers, it’s our art, our language, and our bridge to the whole world.
Josep Ferrer is an analytics engineer from Barcelona. He graduated in physics engineering and is currently working in the Data Science field applied to human mobility. He is a part-time content creator focused on data science and technology. You can contact him on LinkedIn, Twitter or Medium.

More On This Topic

  • What is Graph Theory, and Why Should You Care?
  • Top AI and Data Science Tools and Techniques for 2022 and Beyond
  • Essential Math for Data Science: Information Theory
  • From Theory to Practice: Building a k-Nearest Neighbors Classifier
  • A First Principles Theory of Generalization
  • How to Use Graph Theory to Scout Soccer

Tech Mahindra Launches GenAI Ops amplifAIer for Support Engineers

Indian IT giant Tech Mahindra has launched ‘Ops amplifAIer’ solution under TechM amplifAI0->∞ suite of AI offerings and solutions. The solution eases jumping thought multiple hoops numerous times to analyse and resolve the tickets for the engineers. It provides a single panel view with all the useful information and tools. Furthermore, it will enable team collaboration and generative AI assistance capabilities.

The company’s latest offering now works together with existing ITOps tools. It gathers information about IT issues and uses generative AI to figure out what’s causing the problem, provides solutions, and creates scripts to fix it. It also includes a handy catalogue for businesses to easily reuse automation tools like scripts and workflows across their operations.

Pointing out the lack of resources available for support engineers unlike HR, finance and sale, Hasit Trivedi, CTO – Digital Services and Global Head – AI, Tech Mahindra said, “With our know-how of customer context and in-depth expertise in AI technology, we developed Ops amplifAIer to accelerate the automation of complex IT processes.” He further said it is designed by prioritising support engineers and will let them analyse and resolve issues faster with genAI assistance.

Moreover, the solution attempts to protect IT knowledge within enterprises by preventing its confinement to vendor-specific platforms and tools. The data collected also lets genAI undertake a substantial portion of the tasks currently performed by support engineers.

The launch of Ops amplifAIer has come shortly after the company’s CEO CP Gurnani announced Project Indus – a large language model being developed by Tech Mahindra focused on linguistic diversity. The LLM in progress would have the ability to speak in 40 Indic languages, most notably Hindi. In April 2023, notably Tech Mahindra became the first IT giant to launch something like a Generative AI Studio.

“Generative AI is bringing a renaissance in the creator economy,” Trivedi told AIM exclusively. “Until now, AI has demonstrated its capabilities in observing, detecting, recommending, and predicting. Generative AI can create as well, thus making AI further disruptive. Looking at its tremendous potential, we are focused on investing in, and implementing this technology effectively.” he added.

The post Tech Mahindra Launches GenAI Ops amplifAIer for Support Engineers appeared first on Analytics India Magazine.

The Problems with LLM Benchmarks

LLM benchmarks are known to err, proving they’re not a robust method for evaluating LLMs. Training data contamination, for instance, is a prominent issue with benchmarking. Benchmarks like GLUE, SQuAD and Winograd Schema have seen models overperforming by feeding carefully crafted inputs. The developers building the models, however, evaluate their work on Hugging Face leaderboards against different benchmarks in an attempt to rank at the top.

There are several reasons why these benchmarks are broken, thus messing with the evaluation of AI models in general. One reason is that they are often too narrow in scope. Another reason is that they are often not representative of real-world usage. The datasets used to train LLMs are often not representative of the data that they will encounter in the real world. This can lead to LLMs that perform well on the benchmarks, but poorly in real-world applications.

What are the problems with benchmarks?

MMLU (Massive Multitask Language Understanding) is considered to be the most extensive benchmark. It requires answers in the form of single characters (like A, B, C or D) and the answers should be given immediately by the language model. This can be challenging for complex questions.

A developer on YouTube explains how he found multiple errors in the MMLU test questions. “I was genuinely shocked; there were innumerable factual errors, and I would try to trace down the origin of each and see what the source said. The problem wasn’t just with one source; it was with quite a few of these sources.”

These inevitably impact the results. In some cases, these errors could change the results up to 2%, which is a notable difference in benchmarking. He further explains how just modifying the approach to allow the model to ‘think’ a bit before providing the answers significantly improves the performance. Taking the highest probable answer as the final answer isn’t always the best approach. Instead, considering multiple possible answers and selecting the most common one worked better.

They did this by creating special examples for some subjects to help the model understand better, checking multiple possible answers before choosing the most common one that worked well using a chain of thought process.As a result, they obtained an 88.4% on the MMLU benchmark, although unofficially, and broke the 86.4% as recorded by OpenAI. It was the other way around for Meta’s LLaMA, whose score was significantly lower than the score published in the paper.

This isn’t restricted to just MMLU. Sometime last year, the HellaSwag benchmark that analyses commonsense NLI (Natural Language Inference) was found to have errors in 36% of its rows.

HumanEval only measures if programs made from docstrings work correctly and have a very limited set of capabilities. It consists of 164 original problems in programming and is generally considered to be a measure of the language model’s ability in Python. However, with contamination of either the dataset or the LLM, the entire model can be analysed incorrectly.

Better Benchmarking

A team of researchers from Tsinghua University, Ohio State University, and UC Berkeley has introduced AgentBench, which is a multidimensional benchmark created to assess LLMs-as-Agents in a variety of settings. This is unlike most existing benchmarks that focus on a particular environment, which limits their ability to give a thorough assessment of LLMs across various application contexts.

Realising that different use cases need a separate benchmark, companies offer their solutions for evaluating large language models.

Effective benchmarking is crucial for building AI models, as it directs researchers towards understanding how the system works and what doesn’t. Instead of trying to claim ‘generality’, benchmarks should focus on providing insights about the language model.

“Benchmarking is not about winning a contest but more about surveying a landscape— the more we can re-frame, contextualise and appropriately scope these datasets, the more useful they will become as an informative dimension to better algorithmic development and alternative evaluation methods,” explains the paper.

A thread on Reddit discusses the number of ways to fix these issues.

Benchmarks should be seen as a test to compare how the model works after it has been released, rather than some sort of a goal. This is popularised by the leaderboards on different hosting platforms like Hugging Face or Kaggle. The problem with higher-ranking models is often that they can be too specialised to test specific examples or questions which doesn’t guarantee they perform well outside of the evaluation.

The post The Problems with LLM Benchmarks appeared first on Analytics India Magazine.

Roblox Open Sources Two GenAI Tools For Ease of Design

The famous gaming platform Roblox is set to be the next stop for generative AI to flourish. The leading space for 3D artists and programmers has announced two initiatives. The tools are currently only showing up in creator focused Roblox Studio: a coding tool that lets anyone use conversational AI to generate code on the fly; and create designs with prompts describing what users want.

The company’s CEO David Baszucki envisions that its generative AI systems might someday work in a way that’s somewhat similar to what you might have seen on the sci-fi show Westworld, based on his comments during Roblox’s Q2 2023 earnings call earlier this month.

One of the latest announcements is ControlNet, an open-source neural network designed to improve image generation models. With conditional control, ControlNet produces high quality outputs, streamlining the training process. Compared to its competitors, ControlNet offers a 10x efficiency gain without the need for complete model retraining. The second initiative is StarCoder, an open-source LLM specifically for code generation. The model built on licensed training data can be used for commercial applications.

As per the official blog, both the announcements are the results of partnerships for artists and programmers as the company emphasizes the importance of responsible and community-engaged AI research.

Stefano Corazza, former VP of Adobe’s AR division and now head of Roblox Studio, stated Roblox’s new AI features are for “someone who is familiar with coding, and we just want to make them more productive.” Roblox isn’t actively in VR and AR yet, although Corazza revealed the company is exploring several types of platforms.

The gaming industry has always been ahead of the curve when it comes to adopting new technologies and same is the case for genAI. Unity, a top game engine, also announced an AI marketplace that could change the way studios make games. With the latest Roblox announcements it is clear that these steps for generative AI are going to make a big impact several divisions of gaming like metaverse, AR and VR soon enough.

The post Roblox Open Sources Two GenAI Tools For Ease of Design appeared first on Analytics India Magazine.

The AI Awakening 

‘Can machines think?’ is the question Alan Turing posed in his paper ‘Computing Machinery and Intelligence’. In response, Turing proposed the imitation game, which later came to be known as the ‘Turing test’ to determine whether a computer can exhibit intelligent behavior indistinguishable from that of a human. But this was more than 70 years ago, and today, the most intriguing question in AI is whether the recent advancements could potentially lead to consciousness in AI. The topic garnered significant attention since former Google engineer Blake Lemoine claimed that LaMDA, the chatbot he was testing, was sentient.

With companies like OpenAI chasing AGI, a theoretical form of artificial intelligence that aims to replicate the general cognitive abilities of humans, can AI have consciousness is being widely debated in recent times. Even though AGI doesn’t inherently require consciousness, the question- ‘How will we know if any machine becomes conscious?’ is also being widely asked.

A checklist to test consciousness in machines

Given the significant advancement in the field, many researchers and members of the AI community feel that the ‘Turing test’ is no longer relevant. The test was designed to determine the level of intelligence in machines and not consciousness. However, recently, to test consciousness in AI, a group consisting of 19 computer scientists, neuroscientists, and philosophers has proposed an approach involving an extensive checklist of attributes. While not providing a conclusive test for consciousness, this checklist contains 14 ‘indicator properties’ that a conscious AI model would be likely to display.

“We survey several prominent scientific theories of consciousness, including recurrent processing theory, global workspace theory, higher-order theories, predictive processing, and attention schema theory. From these theories we derive ‘indicator properties’ of consciousness, elucidated in computational terms that allow us to assess AI systems for these properties,” the researchers state in a paper titled ‘Consciousness in Artificial Intelligence: Insights from the Science of Consciousness.’

The researchers tested current AI models like Google’s PaLM-E and DeepMind’s Adaptive Agent but found no significant evidence that any current models were conscious. Given Large Language Models (LLMs) like the GPT models’ mastery over the English language, they might appear like a sentient being, however, that is nowhere the case. What these models are good at is

Nonetheless, it’s important here to note that even though the paper has caught many’s attention, it is pre-printed, meaning it has not been peer-reviewed. Moreover, we also must take into account that the theories mentioned above are designed to test consciousness in humans, and the question remains whether the same theories can be applied to AI.

While the researchers themselves have claimed that their research is a work in progress, some of them are working on a broader consciousness test that can also be applied to organoids, animals, and newborns. Moreover, “While the indicators themselves are subject to change as theories of consciousness evolve, we hope that this approach will help make the discussion of AI consciousness more objective,” Eric Elmoznino, one of the authors of the paper, said.

Adds to the heightened hype

For claiming LaMDA is sentient, Lemoine lost his job at Google. But he is not the only researcher making such claims. Previously, Ilya Sutskever, who co-founded OpenAI also claimed that large neural networks may already be slightly conscious. Sutskever, similar to Lemoine, also received heavy backlash but kept his job. Interestingly, the researchers of the paper mentioned above have stated that the evidence suggests that if computational functionalism is true, conscious AI systems could realistically be built in the near term.

Additionally, many are of the opinion that a human embodiment, having senses and the ability to act in the physical world, is a prerequisite for consciousness. But there are contrasting views as well. “I have virtually no doubt AI will eventually become consciousness for I do not think consciousness requires a specific physical basis (such as a brain) or anything besides suitable information processing capacity,” German Physicist Sabine Hossenfelder also said. But there is no concrete research to justify either claim as of yet.

But on the flip side, some argue that discussions like this one tend to contribute to the already heightened hype around AI. Toby Walsh, an AI researcher at UNSW Sydney, believes that when speculative debates take center stage, it requires several months of concerted effort to refocus attention on the practical opportunities and challenges presented by AI.

It can overshadow the incremental advancements and practical implementations of AI technologies that are already making a positive impact in various industries. Focusing too much on hype can divert attention and resources from real-world AI applications that could bring tangible benefits.

Moreover, remarks like those made by Sutskever and Lemoine tend to contribute to the recent trend of fearmongering in AI discussions. Reams and reams have already been written so far about the potential risks associated with AI achieving human-level intelligence or becoming conscious, with some even suggesting it could lead to human extinction. Giada Pistilli, principal ethicist at Hugging Face, previously told AIM that what’s imperative is responsible reporting and contextual understanding of AI capabilities and benefits, without solely nourishing the fear narrative.

We still don’t understand consciousness

Moreover, consciousness is a complex and elusive phenomenon that has been the subject of philosophical inquiry, scientific research, and debate for centuries. Human understanding of the very concept of consciousness, in today’s age, is very limited, both from a philosophical, as well as from a scientific point of view.

Considering humanity’s limited understanding of consciousness, the endeavour to comprehend and create conscious AI remains a profound challenge. However, a counter-argument to this is that pursuing such goals can lead to valuable insights into both AI development and our understanding of consciousness itself. Nonetheless, as for now, humans endeavour to understand consciousness in itself and AI rages on.

Here’s a pretty old video from AIM asking the same old question – Is AI Conscious?
https://www.youtube.com/watch?v=eFCsolNQyFU

The post The AI Awakening appeared first on Analytics India Magazine.