spoc
SPoC: Search-based Pseudocode to Code
We consider the task of mapping pseudocode to executable code, assuming a one-to-one correspondence between lines of pseudocode and lines of code. Given test cases as a mechanism to validate programs, we search over the space of possible translations of the pseudocode to find a program that compiles and passes the test cases. While performing a best-first search, compilation errors constitute 88.7% of program failures. To better guide this search, we learn to predict the line of the program responsible for the failure and focus search over alternative translations of the pseudocode for that line. For evaluation, we collected the SPoC dataset (Search-based Pseudocode to Code) containing 18,356 C++ programs with human-authored pseudocode and test cases. Under a budget of 100 program compilations, performing search improves the synthesis success rate over using the top-one translation of the pseudocode from 25.6% to 44.7%.
Boosting LLM Reasoning via Spontaneous Self-Correction
Zhao, Xutong, Xu, Tengyu, Wang, Xuewei, Chen, Zhengxing, Jin, Di, Tan, Liang, Yen-Ting, null, Yu, Zishun, Zhao, Zhuokai, He, Yun, Wang, Sinong, Fang, Han, Chandar, Sarath, Zhu, Chen
While large language models (LLMs) have demonstrated remarkable success on a broad range of tasks, math reasoning remains a challenging one. One of the approaches for improving math reasoning is self-correction, which designs self-improving loops to let the model correct its own mistakes. However, existing self-correction approaches treat corrections as standalone post-generation refinements, relying on extra prompt and system designs to elicit self-corrections, instead of performing real-time, spontaneous self-corrections in a single pass. To address this, we propose SPOC, a spontaneous self-correction approach that enables LLMs to generate interleaved solutions and verifications in a single inference pass, with generation dynamically terminated based on verification outcomes, thereby effectively scaling inference time compute. SPOC considers a multi-agent perspective by assigning dual roles -- solution proposer and verifier -- to the same model. We adopt a simple yet effective approach to generate synthetic data for fine-tuning, enabling the model to develop capabilities for self-verification and multi-agent collaboration. We further improve its solution proposal and verification accuracy through online reinforcement learning. Experiments on mathematical reasoning benchmarks show that SPOC significantly improves performance. Notably, SPOC boosts the accuracy of Llama-3.1-8B and 70B Instruct models, achieving gains of 8.8% and 11.6% on MATH500, 10.0% and 20.0% on AMC23, and 3.3% and 6.7% on AIME24, respectively.
- North America > Canada > Quebec > Montreal (0.04)
- Europe > United Kingdom > England > Cambridgeshire > Cambridge (0.04)
SPoC: Search-based Pseudocode to Code
We consider the task of mapping pseudocode to executable code, assuming a one-to-one correspondence between lines of pseudocode and lines of code. Given test cases as a mechanism to validate programs, we search over the space of possible translations of the pseudocode to find a program that compiles and passes the test cases. While performing a best-first search, compilation errors constitute 88.7% of program failures. To better guide this search, we learn to predict the line of the program responsible for the failure and focus search over alternative translations of the pseudocode for that line. For evaluation, we collected the SPoC dataset (Search-based Pseudocode to Code) containing 18,356 C programs with human-authored pseudocode and test cases.
Reviews: SPoC: Search-based Pseudocode to Code
Originality Improving the translation procedure by leveraging error detection on the target programming language is not a new idea, even though the authors do not seem to be aware of this. In semantic parsing, this has been used quite a bit over the last year, under the name of "execution-guided decoding" (see for example the WikiSQL leaderboard, where the top 4 entries currently use this). I believe this first appeared in "Execution-Guided Neural Program Decoding" (Wang et al, 2018); the idea is closest to the prefix-based pruning idea in this submission. This leaves the new "multiclass classification" error localization technique as original contribution, as well as the new dataset. Clarity The core contribution of the paper is a new algorithm, which is only described in prose; I would have preferred pseudo-code here, which would have been more concise.
Reviews: SPoC: Search-based Pseudocode to Code
Main contributions: * New dataset of line-by-line, human-generated pseudocode for learning to map from descriptions to source code. The first stage generates a set of candidate translations from pseudocode to code for each line. The second stage enumerates over combinations of candidates, tries compiling them, and then learns to use the error messages to prioritize which combinations to explore next. There are three well-qualified reviewers who did a great job with their reviews and were active in the discussions. The discussions centered around the following points: * Is this dataset a step forward compared to NAPS?
SPoC: Search-based Pseudocode to Code
We consider the task of mapping pseudocode to executable code, assuming a one-to-one correspondence between lines of pseudocode and lines of code. Given test cases as a mechanism to validate programs, we search over the space of possible translations of the pseudocode to find a program that compiles and passes the test cases. While performing a best-first search, compilation errors constitute 88.7% of program failures. To better guide this search, we learn to predict the line of the program responsible for the failure and focus search over alternative translations of the pseudocode for that line. For evaluation, we collected the SPoC dataset (Search-based Pseudocode to Code) containing 18,356 C programs with human-authored pseudocode and test cases.
You can help a Mars Rover's AI learn to tell rocks from dirt – TechCrunch
Mars Rover Curiosity has been on the Red Planet for going on eight years, but its journey is nowhere near finished -- and it's still getting upgrades. You can help it out by spending a few minutes labeling raw data to feed to its terrain-scanning AI. Curiosity doesn't navigate on its own; there's a whole team of people on Earth who analyze the imagery coming back from Mars and plot a path forward for the mobile science laboratory. In order to do so, however, they need to examine the imagery carefully to understand exactly where rocks, soil, sand and other features are. This is exactly the type of task that machine learning systems are good at: You give them a lot of images with the salient features on them labeled clearly, and they learn to find similar features in unlabeled images.
NASA needs your help teaching its Curiosity rover how to drive on Mars
NASA is asking for your help to guide its Curiosity rover around sand traps, sharp rocks and other obstacles on the Red Planet. A new online tool called AI4Mars, hosted on Zooniverse, allows anyone to label parts of the terrain in the landscape surrounding Curiosity, which has been roving on Mars since 2012. The tool is a form of "machine learning" that allows rover planners assisting with Curiosity's movements to train the rover's intelligence for safe route planning. Picking an appropriate pathway is a pressing problem for Martian rovers. Curiosity's wheels wore down in the early years of its mission from driving over sharp rocks, while another Mars rover called Spirit got permanently stuck in a sand trap in 2010.
- Government > Space Agency (0.92)
- Government > Regional Government > North America Government > United States Government (0.92)
NASA's Mars rover drivers need your help
You may be able to help NASA's Curiosity rover drivers better navigate Mars. Using the online tool AI4Mars to label terrain features in pictures downloaded from the Red Planet, you can train an artificial intelligence algorithm to automatically read the landscape. Is that a big rock to the left? AI4Mars, which is hosted on the citizen science website Zooniverse, lets you draw boundaries around terrain and choose one of four labels. Those labels are key to sharpening the Martian terrain-classification algorithm called SPOC (Soil Property and Object Classification).
- Government > Space Agency (0.91)
- Government > Regional Government > North America Government > United States Government (0.76)
NASA's Mars Rover Drivers Need Your Help
You may be able to help NASA's Curiosity rover drivers better navigate Mars. Using the online tool AI4Mars to label terrain features in pictures downloaded from the Red Planet, you can train an artificial intelligence algorithm to automatically read the landscape. Is that a big rock to the left? AI4Mars, which is hosted on the citizen science website Zooniverse, lets you draw boundaries around terrain and choose one of four labels. Those labels are key to sharpening the Martian terrain-classification algorithm called SPOC (Soil Property and Object Classification). Developed at NASA's Jet Propulsion Laboratory, which has managed all of the agency's Mars rover missions, SPOC labels various terrain types, creating a visual map that helps mission team members determine which paths to take.
- Government > Space Agency (1.00)
- Government > Regional Government > North America Government > United States Government (1.00)