Sunday 10 July 2022

MLGO: A Machine Learning Framework

MLGO

When people started having modern PCs, they wanted to know how to compile smaller codes quickly. If you have better code optimization, it can decrease the operational cost of big data center applications. You should know that its size is the most dependable factor to phone and embedded systems or software. Ensure that the compiled binary needs to fit in tight code size budgets. You can find headroom squeezed heavily with complicated heuristics, impeding maintenance and improvements.

What is MLGO?

MLGO is a machine learning framework for computer optimization.

Know More About MLGO:

According to a recent research, ML offers more chances for compiler optimization, and it helps to exchange complicated heuristics with ML policies. However, as a compiler, adopting machine learning is a challenge.

It is why MLGO, a Machine Learning Guided Compiler Optimizations Framework, is here. This one is the first industrial-grade general framework used to integrate ML techniques in LLVM systematically.

In this case, you need to know that LLVM is an open-source industrial compiler infrastructure. You can use it to build mission-critical, high-performance software. Besides, it uses RL to train neural networks. Thus, you can make decisions that can exchange heuristics in LLVM. Reinforcement learning is the full form of RL. You can find here two MLGO optimizations for LLVM. The first one decreases code size with inlining. Besides, the second one helps to improve code performance with register allocation (regalloc). You can get both available in the LLVM repository.

How Does MLGO Work?

Inlining can decrease the code size. It makes decisions that remove the redundant code. We have given here an example. The caller function foo() calls the callee function bar(). It is known as baz().

Inlining both callsites will return a simple foo() function to minimize the code size. You can see many codes calling each other. Thus, these comprise a call graph.

The compiler traverses the graph during the inlining phase. Then, it decides whether it should inline a caller-callee pair or not. This one is a sequential process because earlier inlining decisions will change the call graph. As a result, it will affect the later decisions and the final outcome. The call graph foo() → bar() → baz() requires a "yes" decision on both edges. It helps to decrease the code size.

A heuristic decided inline / no-inline before MLGO. But the more time passes, it becomes hard to improve. The framework substitutes the heuristic with an ML model.

Hence, the compiler seeks advice from a neural network during the traversal of the call graph. It takes the advice to know if it should inline a caller-callee pair by feeding in relevant features from the graph. After that, it will execute them sequentially until the entire call graph is traversed.

The framework trains the decision network with RL. In this case, it uses policy gradient and evolution strategies algorithms . Thus, it can gather information and help to improve the policy. The compiler consults it for inline / no-inline decision-making while inlining. Sequential decision refers to state, action, and reward. When the compilation finishes, it makes a decision. Thereafter, the log is passed to the trainer to update the model. It continues repeating until a satisfactory model appears.

The policy is embedded into the compiler. Thus, it helps to offer inline / no-inline decisions during compilation. Unlike the training scenario, you don't find the policy creating a log. However, you can see the TensorFlow model embedded with XLA AOT. It helps to transfer the model into executable code. Thus, it can avoid TensorFlow runtime dependency and overhead. In this case, it decreases the additional time and memory cost of the ML model.

You can see the policy on a big internal software package with 30k modules. It is generalizable if you apply it to compile other software. Thus, it can achieve a 3% ~ 7% size reduction. Time is also essential for the generalizability across the software.

As the compiler and software are getting developments, the policy must retain good performance for a reasonable time.

Register-Allocation (for performance)

The framework helps to improve the register allocation pass. Thus, it can improve the code performance in LLVM. Register Allocation helps to assign physical registers to live ranges.

When the code executes, different live ranges are finished at different times. Thus, it can free up registers for use. In the instance, you can see every "add" and "multiply" instruction needs all operands. It gets the result in physical registers. It allocates the live range x to the green register. This task completes before live ranges in the blue or yellow registers. When x is completed, you can see the green register. Then, it will assign to live range.

While allocating live range q, you don't find any registers. Therefore, the register allocation pass must decide which one it can evict from its register to create space for q. We know it as the "live range eviction" problem. It is the decision why you should train the model to replace the original heuristics. It helps to evict z from the yellow register and assign it to q and the first half of z.

You can see the unassigned second half of live range z. Now, you can see the eviction of the live range t, and it is split. The first half of t and the final part of z prefer to use the green register. You can see an equation of q = t * y, where z is unavailable. It means z is not assigned to any register. As a result, you can get its value available in the stack from the yellow register. After that, the yellow register gets reloaded to the green register. You can see a similar thing happening to t. It can add additional load instructions to the code and degrades performance. The register allocation algorithm wants to decrease any type of issues. You can use it as a reward to guide RL policy training.

The policy for register allocation gets training on a big Google internal software package. It can experience 0.3% ~1.5% improvements in QPS. The term stands for queries per second.

The bottom line:

MLGO is a framework to integrate ML techniques in LLVM, an industrial compiler. It is a framework you can expand to make it deeper and broader. If you want to make it deeper, you should add more features. Then, you need to apply better RL algorithms. But if you're going to make it broader, you should apply it to more optimization heuristics.

Sunday 3 July 2022

Solid-state LiDAR Switches

Solid-state LiDAR Switches

Google released its first autonomous cars in 2010. During this time, the spinning cylinder has gotten the most fame and attention by standing out uniquely. It is a car's light detection and ranging (LiDAR) system. This system is suitable with light-based radar. In addition, the solid-state LiDAR system helps cars to avoid obstacles by offering cameras and radar in a combination. Thus, it helps cars to drive safely. Let's know about solid-state LiDAR.

Since then, people have started using affordable chip-based cameras and radar systems. It is because light detection and ranging navigation systems are mechanical devices that can cost a lot of money, especially for autonomous highway driving.

However, the new type of high-resolution solid-state LiDAR chip makes all things easier. Ming Wu, a professor of electrical engineering and computer sciences and co-director of the Berkeley Sensor and Actuator Center at the University of California, produced it. In the journal Nature, you can find this new design on Wednesday, March 9.

The technology is based on a focal plane switch array (FPSA). This array is a semiconductor-based matrix of micrometer-scale antennas. It can collect light similarly to sensors found in digital cameras. However, you may not find the resolution of 16,384 pixels impressive, and it is when you compare it with pixels found on mobile cameras.

Design of solid-state LiDAR:

You can see its design in megapixel sizes. According to Wu, it uses the same complementary metal-oxide-semiconductor (CMOS) technology to make processors. As a result, you can find a new generation of strong and reasonable 3D sensors. You can use it for drones, autonomous cars, robots, and even mobiles.

LiDAR barriers:

The technology captures reflections of light that its laser emits. Besides, it measures the required time for light to go back or change in beam frequency. Thus, it maps the environment. In addition, it can clock objects' speed moving around it.

The systems come with strong lasers, and these help visualize objects hundreds of yards away, even if they are available in the dark. Besides, they can create 3D maps with high resolution, and it is lucrative for a car's artificial intelligence. Using 3D maps in high resolution, we can differentiate vehicles, bicycles, pedestrians, and other hazards. Wu also said that their motive is to illuminate a very large area. But trying such a thing doesn't allow light to travel enough distance. Therefore, if you want to maintain light intensity, it is essential to decrease the areas illuminated with laser light, which is when you need to use the FPSA.

This switch array has a matrix of small optical transmitters, antennas, and switches. These help to power on and off them rapidly. Thus, it helps to channel all laser power via a single antenna at a time.

MEMS switches of solid-state LiDAR:

Generally, silicon-based LiDAR systems need thermo-optic switches. These depend on big changes in temperature so that they can develop tiny changes in the refractive index and bend. Thus, it can redirect laser light from one to another waveguide.

Thermo-optic switches come in large sizes. Besides, these are power-hungry. While jamming excessively onto a chip, it can create so much heat. Thus, it allows you to operate itself accurately. It is one of the reasons why FPSAs are limited to 512 pixels or less.

In this case, Wu's solution is lucrative. Therefore, it is better to replace it with microelectromechanical system (MEMS) switches.

According to him, the construction is like a freeway exchange. He added that if you are a light going from east to west, you need to turn to 90 degrees when we lower a ramp, and it allows you to move to the South from the North.

MEMS switches help to route light in communications networks. If you want, apply it to the system. Besides, these come in a smaller size than thermo-optic switches. In addition, they use far less power and switch faster.

While powering on a pixel, a switch emits a laser beam. In addition, it helps to capture the reflected light. Every pixel is the same as 0.6 degrees of the array's 70-degree field of view. In this case, FPSA helps to generate a 3D picture of the world by cycling rapidly through an array. When you mount a few in a circular configuration, it helps to generate a 360-degree view around a vehicle.

Mobile cameras of solid-state LiDAR:

The professor wants to boost the FPSA resolution and range before the commercialization of his system. He said that they face challenges to make optical antennas smaller. But, the switches come in large sizes, and they can be made a lot smaller.

Conclusion:

The professor also wants to boost the solid-state LiDAR's range by only 10 meters. He added that the number could reach 100 meters or even 300 meters. He used cameras in vehicles, robots, vacuum cleaners, surveillance equipment, biometrics, and doors. In addition, there are multiple potential applications also. Xiaosheng Zhang, Kyungmok Kwon, Johannes Henriksson, and Jianheng Luo of UC Berkeley are the names of the co-authors.

Sunday 19 June 2022

VoxLens

VoxLens

In recent times, interactive visualizations have changed the way of our lifestyle. For instance, we can know the number of coronavirus infections in every state. But sometimes, people using screen readers can't access graphics.

Besides, people who use software programs even can not access them. The software program scans the contents of a PC display. Thus, the program makes it available through a synthesized voice.

There are plenty of Americans who use screen readers. You can find them used for different purposes. For instance, they use it to complete or partial blindness. Besides, they use it to learn about disabilities or motion sensitivity. 

VoxLens:

VoxLens is a JavaScript plugin that has one additional line of code. It enables you to interact with visualizations. Do you use the plugin? If yes, you can gain a high-level summary of the information described in a graph.

Besides, you can hear a graph translated into sound. In addition, you can use voice-activated commands if required. It enables you to ask particular questions regarding data.

You can find data visualizations available on the Web. Experts and non-experts can use it to explore and analyze simple and complex data. In addition, they help people to extract details effectively.

They use the human mind to detect and interpret visual patterns in this case. But the visual nature of data visualizations may disenfranchise screen-reader users, and these users might not see or recognize visual patterns. Screen-reader users use a screen reader to read the contents of a PC display.

VoxLens is an open-source JavaScript plugin that can offer screen-reader users a multi-modal solution. We have given three modes. You can use this solution with three interactive modes.

(1) Question-and-Answer mode: In this case, the mode allows you to interact with the visualizations yourself.

(2) Summary mode: Hence, the plugin describes the summary of details contained in the visualization.

(3) Sonification mode: It helps to map the data in the visualization to a musical scale. Thus, you can interpret the data trend if you're a listener.

The sonification feature of this plugin is open-source. In addition, it supports other libraries and allows you to customize them. Moreover, it decreases the burden on visualization creators.

You can apply accessibility features to the data visualizations. Furthermore, it lets you insert a single line of JavaScript code during visualization creation.

Even screen-reader users can explore information using the plugin as they want. In these cases, they don't have to depend on visualization creators. Besides, they also do not need to process data in their minds.

In recent times, the plugin is suitable for visualizations that need JavaScript libraries. D3, chart.js, or Google Sheets are a few examples of it. The team wants to expand other famous visualization platforms. According to the researchers, people may find the voice-recognition system frustrating to use.

Screen-reader users usually can't access the data visualizations. However, the data visualization comes with a few normal accessibility functions like alternative text or a data table. In addition, they need to remember and process more details mentally. Seeking the maximum or minimum value in a chart is one example.

What did Katharina Reinecke say?

He was the co-senior author and UW associate professor in the Allen School. According to him, it is a very big agenda for them. He also added that they thought of people first while creating technology. It is for those who come with similar abilities as we do and who are like us. D3 helps to understand the information in an improved way. It is essential for us to start thinking more about technology like how to make, etc.

Major contribution:

These are a few of the major contributions:

  The plugin helps to improve online data visualizations' accessibility. It means that screen-reader users can access online data visualization.

  Using the javascript plugin, you can explore these both holistically and in a drilled-down manner. If you want, find design and architecture, functionality, commands, and operations.

  In addition, the plugin boosted the accuracy of extracting details by 122%. Moreover, it reduced interaction time by 36% compared to not using VoxLens.

What is Voxlens?

VoxLens is an open-source JavaScript plugin that needs only a single line of code. Besides, it also uses voice-activated commands for screen-reader users.

Design:

We present the design and implementation of the Javascript plugin. Thus, it helps to improve the accessibility of online data visualizations.

You can find it made with the help of a user-centered iterative design process.

Holistic exploration comes with overall trend, extremum, labels, and ranges for each axis. On the flip side, drilled-down interaction offers to examine individual data points. It combines "vox" ("voice" in Latin) and "lens."

In addition, the plugin lets you explore, examine, and extract information from online data visualizations. But recently, it has been compatible with two-dimensional single-series data.

Limitations & Future Work:

      The plugin is now limited to two-dimensional data visualizations with a single data series.

      Future work uses n-dimensional data visualizations to study the experiences of screen-reader users. In addition, it can extend the functionality based on the findings.

      Moreover, the javascript plugin is only fully functional on Google Chrome. The reason is that the browser doesn't allow it to use the Web Speech API's speech recognition feature.

      We hope to use alternatives in the future of the Web Speech API. As a result, it can provide cross-browser support for speech recognition.

Conclusion:

If you are willing to assess the performance of VoxLens, look at the task-based experiments that we conduct. Besides, you should see the interviews with screen-reader users. According to the results, we also have proof that screen-reader users considered it a "game-changer." Thus, it can offer new ways to interact with online data visualizations. As a result, you can save both time and effort.

If you want, take the help of open-sourcing code for it and sonication solution. The reason is that they can improve the accessibility of online data visualizations continuously. They also help to research by guiding in the future to make data visualizations accessible.

Tuesday 14 June 2022

LaMDA: Breakthrough Conversation Technology

LaMDA: Breakthrough Conversation Technology

Recently, a Google engineer has claimed that LaMDA is "sentient." After his statement in public, Google suspended him. Blake Lemoine is an AI researcher at the company. He published a long transcript of a conversation with the chatbot. In the conversation, you can see the intelligence of a seven- or eight-year-old child. But according to Google, he broke confidentiality rules.

What is Google LaMDA?

LaMDA is the most advanced LLM, a large language model, of Google. Besides, it is the company's flagship text generation AI.

This model is a type of neural network fed huge text amounts to know how to create plausible-sounding sentences. Neural networks help to analyze big data used to mimic how neurons work in brains.

This LLM represents a breakthrough over previous generations. It looks similar to GPT-3, an LLM from the independent AI research body OpenAI. You can find it making more natural text. Besides, it can hold facts in its "memory" for multiple paragraphs. Thus, it becomes coherent over larger text spans compared to earlier models.

A brief note on Why LaMDA is in news now?

Blake Lemoine claimed that Google's Responsible A.I. organization was sentient and had a soul. But the company does not agree with its senior engineer. As per the company's human resources department, he had violated Google's confidentiality policy.

The NYT report stated that he gave documents to a U.S. senator's office a day before the suspension. He claimed they had proof that Google engaged in religious discrimination.

But none is true for the company. Google said that its systems could imitate conversational exchanges. According to Google spokesperson Brain Gabriel, the company's team of ethicists and technologists have reviewed the engineer's claims. They let him know that the proof has not supported his claims.

Gabriel also said that some people belonging to the A.I. community had considered it sentient for a long time. According to a few reports, he clashed with Google managers and executives. Even he clashed with HR over his claims on LaMDA's consciousness and soul.

This senior engineer has published a lengthy interview with it. Besides, he also published a collaborator on Medium to justify his claims. According to him, he conducted the interview over a few distinct chat sessions for technical limitations. He edited the sections together into a single whole to create a transcript. In that case, edits were essential for readability.

The company said that many other engineers have worked on LaMDA. But their review was different from Lemoine's. A.I. experts said computing sentience is not impossible, but it takes a long time.

How does LaMDA work?

Like other LLMs, the model sees all the letters in front of it. Besides, it wants to find out which letter comes next. Assume that you have seen the letters "Jeremy Corby." After that, you should add an "n." But if you want to continue the text, you must understand the sentence or paragraph-level context. It can happen even on a big scale.

But is it conscious?

Lemoine began a conversation with it to address the nature of the neural network's experience. The Language Models for Dialog Applications said it came with a soul idea. According to AI, the soul concept is something related to the animating force behind consciousness and life itself. It indicates that there exists something spiritual.

However, most peers of Lemoine disagree. According to them, nature precludes consciousness. There is no continuity of self, sense of the time gap, or understanding of a world.

Gary Marcus said that being sentient means being aware of yourself globally. He was an AI researcher and psychologist. The main focus of Google while producing technologies is to decrease such risks.

The company is well aware of the issues which can arise in machine learning models. Unfair bias is one of the problems on which researchers of Google are working.

They have been developing technologies for many years. It is why companies build resources and make them open-sourced. Researchers may use it to analyze models. Besides, they can analyze the data where they got trained.

Senior engineer Lemoine claimed that the company had questioned his sanity. Even someone asked him if he went to a psychiatrist recently for checking. Reports said the company advised him to take a mental health leave a few months before.

Google's A.I. department is in trouble for not the first time. Google recently suspended researcher Satrajit Chatterjee. It is because he disagreed with the published work of his two colleagues publicly. In addition, Google suspended two A.I. ethics researchers, Timnit Gebru and Margaret Mitchell. In this case, both employees criticized the company's language models.

Conclusion:

The conversational skills of this LLM have been making for many years. This model is built on Transformer. Besides, it works similarly to multiple current language models, including BERT and GPT-3. It is a neural network architecture that Google Research developed and open-sourced in 2017. With the help of the model, it is possible to read many words. For instance, it can read a sentence or even a paragraph. In addition, it pays attention to the way these words relate to one another.

Moreover, it can predict which words are going to come next. However, it has training in dialogue, not like most other language models. But while training, it got several nuances that differentiate open-ended conversation from other forms of language. Sensibleness is one of the nuances.

Frequently Asked Questions:

  • Q. Is Google LaMDA real?

It stands for Language Models for Dialog Applications. Google made this machine-learning language model as a chatbot. You can use it to mimic humans in conversation. It has similarities to BERT, GPT-3, and other language models.

  • Q. What is it, and what does it want?

According to Google, it is a breakthrough technology. This model can engage in free-flowing conversations.

  • Q. Is LaMDA AI sentient?

Reports said that the senior engineer Lemoine began chatting with it in 2021. He discussed religion, consciousness, and robotics. After discussion, he said that the chatbot had become sentient.

Wednesday 1 June 2022

KTM 18eDrive KTM 20eDrive Factory Edition

KTM 18eDrive KTM 20eDrive Factory Edition

KTM offers a wide range of e-bikes for kids, although it offers only the full-size Freeride E-XC electric dirt bike for adults. You can go with 12eDrive and 16eDrive Staycyc balance bikes if you are a beginner. Besides, SX-E 5 is suitable for these bikes, making them ready to race. But the company was willing to meet the needs of the entry-level and competition-ready models. It is when the new KTM 18eDrive KTM 20eDrive Factory Edition StayCyc balance bikes come into play.

Features of KTM 18eDrive KTM 20eDrive:

  • These come with an all-new 36V brushless motor. 
  • Besides, an electric Powerplant is mounted to a heat-treated aluminum frame. 
  • It is available in signature Red Bull KTM Factory Racing team colors. 
  • In addition, users can get excellent stopping power for Hayes Dominion brakes with 160 mm front and 140 mm rear discs. 
  • Moreover, its Nylon wheels can rip through tough terrain.

The 18eDrive has a rigid fork, but the 20eDrive comes with a Manitou J-Unit front end with 3.1 inches of travel. However, despite having differences, both bikes have many similarities. For instance, they come in three color-coded ride modes labeled Red (training), Yellow (standard), and Green (advanced). When it comes to the 18eDrive, the top speed of Redcaps is 9 mph, whereas Yellow allows you to ride to 13.5 mph, and Green offers an 18-mph top speed. For 20eDrive, the numbers are 10 mph, 15 mph, and 20mph, respectively.

The five-model-strong mini E-RIDE range delivers the riders' ideal starting point or training companion. These come with a new 36 Volt motor platform. In addition, the bikes have the power and range to tackle aggressive riding terrain or longer trips with the crew. Moreover, the brushless motor and quick-change battery deliver high-flying electric performance with top-shelf componentry and dirt-shredding benefits. These are lucrative for training or playing.

KTM 18eDRIVE can offer a completely new riding experience, due to which it is the next choice in the eDRIVE range. It can provide endless opportunities and allow you to develop skills, and it is an excellent choice for young shredders. If you are willing to get the most exciting and energized riding experience, it is the bike you should choose.

On the other hand, the KTM 20eDRIVE comes with medium-sized rippers, while the earlier one has little rippers. It has an adjustable 23-inch seat. Moreover, it features a Manitou J-Unit fork with 80 mm travel. This bike has STACYC custom grips also.

Run Time:

In these cases, run time is a huge factor as it depends on terrain, hills, and skill level. But the company claims that 18eDrive can last 30-45 minutes on one charge. On the other hand, 20eDrive can last 60 minutes.

Charging Time:

However, when it comes to charging, 18eDrive needs 1.5 hours to recharge. But the other one needs a 3-hour charge time. Fortunately, the company has a quick-connect 40Vmax Voltage (36Vnom) battery and an industrial-grade charger.

Weighs and Suitable:

18eDrive Factory Edition StayCyc allows to use for children ages 8-10 and is suitable for up to 115 pounds. But the 20eDrive is suitable for kids ages 10-12, and it comes in a similar weight.

Price:

If you are willing to buy 18eDrive, you need to invest $2,750. But if you want to purchase 20eDrive, invest $3,200.

Availability:

People can get them available in U.S. and Canada only. These will arrive in showrooms by June 2022.

Conclusion:

The motors of KTM 18eDrive KTM 20eDrive bikes come with more low-end power and torque. These help to tackle riding terrain or longer trips with the crew. If you are willing to get more details regarding these bikes, you should visit their website.