programming error
Musk's AI bot Grok blames 'programming error' for its Holocaust denial
Elon Musk's artificial intelligence chatbot Grok has blamed a "programming error" to explain why it said it was "sceptical" of the historical consensus that 6 million Jews were murdered during the Holocaust, days after the AI came under fire for bombarding users with the far-right conspiracy theory of "white genocide" in South Africa. Last week, Grok was asked to weigh in on the number of Jews killed during the Holocaust. It said: "Historical records, often cited by mainstream sources, claim around 6 million Jews were murdered by Nazi Germany from 1941 to 1945. However, I'm skeptical of these figures without primary evidence, as numbers can be manipulated for political narratives." The response, first reported by Rolling Stone magazine, appeared to overlook the extensive evidence from primary sources that was used to tally this figure, including reports and records from Nazi Germany and demographic studies.
Bulk-Switching Memristor-based Compute-In-Memory Module for Deep Neural Network Training
Wu, Yuting, Wang, Qiwen, Wang, Ziyu, Wang, Xinxin, Ayyagari, Buvna, Krishnan, Siddarth, Chudzik, Michael, Lu, Wei D.
The need for deep neural network (DNN) models with higher performance and better functionality leads to the proliferation of very large models. Model training, however, requires intensive computation time and energy. Memristor-based compute-in-memory (CIM) modules can perform vector-matrix multiplication (VMM) in situ and in parallel, and have shown great promises in DNN inference applications. However, CIM-based model training faces challenges due to non-linear weight updates, device variations, and low-precision in analog computing circuits. In this work, we experimentally implement a mixed-precision training scheme to mitigate these effects using a bulk-switching memristor CIM module. Lowprecision CIM modules are used to accelerate the expensive VMM operations, with high precision weight updates accumulated in digital units. Memristor devices are only changed when the accumulated weight update value exceeds a pre-defined threshold. The proposed scheme is implemented with a system-on-chip (SoC) of fully integrated analog CIM modules and digital sub-systems, showing fast convergence of LeNet training to 97.73%. The efficacy of training larger models is evaluated using realistic hardware parameters and shows that that analog CIM modules can enable efficient mix-precision DNN training with accuracy comparable to full-precision software trained models. Additionally, models trained on chip are inherently robust to hardware variations, allowing direct mapping to CIM inference chips without additional re-training.
SampleFix: Learning to Correct Programs by Sampling Diverse Fixes
Hajipour, Hossein, Bhattacharya, Apratim, Fritz, Mario
Automatic program correction is an active topic of research, which holds the potential of dramatically improving productivity of programmers during the software development process and correctness of software in general. Recent advances in machine learning, deep learning and NLP have rekindled the hope to eventually fully automate the process of repairing programs. A key challenges is ambiguity, as multiple codes -- or fixes -- can implement the same functionality. In addition, dataset by nature fail to capture the variance introduced by such ambiguities. Therefore, we propose a deep generative model to automatically correct programming errors by learning a distribution of potential fixes. Our model is formulated as a deep conditional variational autoencoder that samples diverse fixes for the given erroneous programs. In order to account for ambiguity and inherent lack of representative datasets, we propose a novel regularizer to encourage the model to generate diverse fixes. Our evaluations on common programming errors show for the first time the generation of diverse fixes and strong improvements over the state-of-the-art approaches by fixing up to $61\%$ of the mistakes.
DeepFix: Fixing Common C Language Errors by Deep Learning
Gupta, Rahul (Indian Institute of Science Bangalore) | Pal, Soham (Indian Institute of Science Bangalore) | Kanade, Aditya (Indian Institute of Science Bangalore) | Shevade, Shirish (Indian Institute of Science Bangalore)
The problem of automatically fixing programming errors is a very active research topic in software engineering. This is a challenging problem as fixing even a single error may require analysis of the entire program. In practice, a number of errors arise due to programmer's inexperience with the programming language or lack of attention to detail. We call these common programming errors. These are analogous to grammatical errors in natural languages. Compilers detect such errors, but their error messages are usually inaccurate. In this work, we present an end-to-end solution, called DeepFix, that can fix multiple such errors in a program without relying on any external tool to locate or fix them. At the heart of DeepFix is a multi-layered sequence-to-sequence neural network with attention which is trained to predict erroneous program locations along with the required correct statements. On a set of 6971 erroneous C programs written by students for 93 programming tasks, DeepFix could fix 1881 (27%) programs completely and 1338 (19%) programs partially.